{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Taking `examples/examples.ipynb` as a starting point.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import sys\n",
    "\n",
    "sys.path.append(\"..\")\n",
    "sys.path.append(\"../..\")\n",
    "\n",
    "import numpy as np \n",
    "import pandas as pd\n",
    "import yellowbrick as yb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from yellowbrick.features.rankd import Rank1D, Rank2D, rank1d, rank2d"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# !pip install pandas requests nose"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# %run download.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from download import download_all \n",
    "\n",
    "## The path to the test data sets\n",
    "FIXTURES  = os.path.join(os.getcwd(), \"data\")\n",
    "\n",
    "## Dataset loading mechanisms\n",
    "datasets = {\n",
    "    \"credit\": os.path.join(FIXTURES, \"credit\", \"credit.csv\"),\n",
    "    \"concrete\": os.path.join(FIXTURES, \"concrete\", \"concrete.csv\"),\n",
    "    \"occupancy\": os.path.join(FIXTURES, \"occupancy\", \"occupancy.csv\"),\n",
    "    \"mushroom\": os.path.join(FIXTURES, \"mushroom\", \"mushroom.csv\"),\n",
    "}\n",
    "\n",
    "def load_data(name, download=True):\n",
    "    \"\"\"\n",
    "    Loads and wrangles the passed in dataset by name.\n",
    "    If download is specified, this method will download any missing files. \n",
    "    \"\"\"\n",
    "    # Get the path from the datasets \n",
    "    path = datasets[name]\n",
    "    \n",
    "    # Check if the data exists, otherwise download or raise \n",
    "    if not os.path.exists(path):\n",
    "        if download:\n",
    "            download_all() \n",
    "        else:\n",
    "            raise ValueError((\n",
    "                \"'{}' dataset has not been downloaded, \"\n",
    "                \"use the download.py module to fetch datasets\"\n",
    "            ).format(name))\n",
    "    \n",
    "    # Return the data frame\n",
    "    return pd.read_csv(path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>limit</th>\n",
       "      <th>sex</th>\n",
       "      <th>edu</th>\n",
       "      <th>married</th>\n",
       "      <th>age</th>\n",
       "      <th>apr_delay</th>\n",
       "      <th>may_delay</th>\n",
       "      <th>jun_delay</th>\n",
       "      <th>jul_delay</th>\n",
       "      <th>aug_delay</th>\n",
       "      <th>...</th>\n",
       "      <th>jul_bill</th>\n",
       "      <th>aug_bill</th>\n",
       "      <th>sep_bill</th>\n",
       "      <th>apr_pay</th>\n",
       "      <th>may_pay</th>\n",
       "      <th>jun_pay</th>\n",
       "      <th>jul_pay</th>\n",
       "      <th>aug_pay</th>\n",
       "      <th>sep_pay</th>\n",
       "      <th>default</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20000</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>24</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>689</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>120000</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>26</td>\n",
       "      <td>-1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>3272</td>\n",
       "      <td>3455</td>\n",
       "      <td>3261</td>\n",
       "      <td>0</td>\n",
       "      <td>1000</td>\n",
       "      <td>1000</td>\n",
       "      <td>1000</td>\n",
       "      <td>0</td>\n",
       "      <td>2000</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>90000</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>34</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>14331</td>\n",
       "      <td>14948</td>\n",
       "      <td>15549</td>\n",
       "      <td>1518</td>\n",
       "      <td>1500</td>\n",
       "      <td>1000</td>\n",
       "      <td>1000</td>\n",
       "      <td>1000</td>\n",
       "      <td>5000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>50000</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>37</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>28314</td>\n",
       "      <td>28959</td>\n",
       "      <td>29547</td>\n",
       "      <td>2000</td>\n",
       "      <td>2019</td>\n",
       "      <td>1200</td>\n",
       "      <td>1100</td>\n",
       "      <td>1069</td>\n",
       "      <td>1000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>50000</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>57</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>20940</td>\n",
       "      <td>19146</td>\n",
       "      <td>19131</td>\n",
       "      <td>2000</td>\n",
       "      <td>36681</td>\n",
       "      <td>10000</td>\n",
       "      <td>9000</td>\n",
       "      <td>689</td>\n",
       "      <td>679</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 24 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    limit  sex  edu  married  age  apr_delay  may_delay  jun_delay  jul_delay  \\\n",
       "0   20000    2    2        1   24          2          2         -1         -1   \n",
       "1  120000    2    2        2   26         -1          2          0          0   \n",
       "2   90000    2    2        2   34          0          0          0          0   \n",
       "3   50000    2    2        1   37          0          0          0          0   \n",
       "4   50000    1    2        1   57         -1          0         -1          0   \n",
       "\n",
       "   aug_delay   ...     jul_bill  aug_bill  sep_bill  apr_pay  may_pay  \\\n",
       "0         -2   ...            0         0         0        0      689   \n",
       "1          0   ...         3272      3455      3261        0     1000   \n",
       "2          0   ...        14331     14948     15549     1518     1500   \n",
       "3          0   ...        28314     28959     29547     2000     2019   \n",
       "4          0   ...        20940     19146     19131     2000    36681   \n",
       "\n",
       "   jun_pay  jul_pay  aug_pay  sep_pay  default  \n",
       "0        0        0        0        0        1  \n",
       "1     1000     1000        0     2000        1  \n",
       "2     1000     1000     1000     5000        0  \n",
       "3     1200     1100     1069     1000        0  \n",
       "4    10000     9000      689      679        0  \n",
       "\n",
       "[5 rows x 24 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load the classification data set\n",
    "data = load_data('credit') \n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Specify the features of interest\n",
    "features = [\n",
    "        'limit', 'sex', 'edu', 'married', 'age', 'apr_delay', 'may_delay',\n",
    "        'jun_delay', 'jul_delay', 'aug_delay', 'sep_delay', 'apr_bill', 'may_bill',\n",
    "        'jun_bill', 'jul_bill', 'aug_bill', 'sep_bill', 'apr_pay', 'may_pay', 'jun_pay',\n",
    "        'jul_pay', 'aug_pay', 'sep_pay',\n",
    "    ]\n",
    "\n",
    "X = data[features]\n",
    "y = data.default"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Rank1D \n",
    "New visualizer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAFXCAYAAADd8FZSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtYVWX+///n5pjKQRDDLMaPgpOVGaF+qXFKLcdAwwMK\nKYp5nPlUmklNaI5GpOYBtVFK1CSQFBNCy2OmlahNljk22mFUVAwPgJonRE57//7w5/5EgILuzfH1\nuK65Llh7rXvd9+1w7Xf3utf7bTCZTCZERESkQbOp6Q6IiIhIzVNAICIiIgoIRERERAGBiIiIoIBA\nREREUEAgIiIiKCAQqZR9+/YRHh5OUFAQTz/9NKNHj+bQoUMA7N69m6efftpi99q2bRvTpk27rTYW\nLlzII488Qt++fenbty99+vThiSee4K233uJ23jQODw9n8+bNZY5PnjyZr7766na6XCk7d+6ke/fu\nDBgwgKtXr5b6bMeOHQQHB9O3b1/69+/Pjh07ADCZTMyfP59evXrRq1cvIiMjyc/PL9N2VlYW9913\nn3nOrv/vn//85y3398svv7yt60Wqk11Nd0CktissLORvf/sb8fHxPPDAAwB8/PHHjBkzhm3btln8\nfk8++SRPPvnkbbfTq1cvpk6dav79woUL9OnThz//+c889thjt93+b02fPt2i7VVkw4YNhISE8Pzz\nz5c6funSJV555RU++OAD2rZty88//8zQoUP58ssv+eqrr9i1axdr167F3t6e8ePHs3z5cv72t7+V\naf+OO+7g448/tlh/9+/fz4ULFyzWnog1KSAQuYn8/HwuXbrElStXzMf69OmDk5MTJSUlAFy5coUJ\nEyZw5MgRCgoKmDZtGp06deLo0aNER0dz5coVcnJyaNeuHW+//TaOjo7cf//9PPvss+zevZsrV64Q\nERFBz549SUtL49NPP2Xx4sWEh4fj6urKkSNHGDx4MH/5y1+IiorixIkTmEwm+vXrx+jRoys1jjNn\nznD16lVcXV0BSE1N5cMPP6SoqIgLFy4wZswYwsLCSEtL47PPPsPGxobMzEzs7e2ZNWsWf/zjH81t\nFRcX8/LLL2NnZ8esWbMYMWIEQ4YMoX379gwfPpyuXbvy/fffc+HCBSZMmECvXr3Iz8/n9ddf5/vv\nv8fZ2RkfHx8AZs6cWaqfRUVFzJw5k3/961/Y2trSoUMHJk2axKpVq9i2bRuOjo5cunSJyMjIUte8\n/vrrtG3bFgAfHx9MJhO//vorPXv2pHv37tjb23P58mXOnTtH06ZNq/z/g7179xITE0N+fj4Gg4Fx\n48bRvXt3rly5QlRUFMeOHePChQs0adKEmJgYLl26xKpVqygpKcHZ2ZlWrVqZ/12BUv/OEydO5Pz5\n8/zyyy9069aN8ePHExMTw7fffktJSQn3338///jHP3BycmLlypWsWrUKe3t7HB0diY6ONs+lyO1Q\nQCByE66urvz9739n9OjReHh44Ofnh7+/P71798bBwQGA06dPM3/+fB566CESEhJYuHAhiYmJrF69\nmn79+tG3b1+KiooIDg7myy+/5KmnnqKkpARXV1fS0tLM/0XbqVOnMvd3cXFh48aNAAwdOpQnn3yS\nESNGcOnSJYYMGcJdd91F7969y1y3ceNGvvvuO65evcr58+e5//77eeONN+jQoQN5eXmkpKSwZMkS\n3Nzc2LdvHyNGjCAsLAyAb7/9lvXr19OiRQvefPNNli1bxqxZs4BrX77jx4/H09OTKVOmYDAYSt33\nl19+4c9//jNTpkzh008/ZebMmfTq1Yt3332XkpISNm3axJUrVwgLC+P+++8v0+9FixaRk5PDxx9/\njK2tLZMnT2b27NlER0dz+PBh2rZty6hRo0pd4+7uTq9evcy/L1iwgP/5n//By8sLAHt7ez744APe\nfvttPD09+ctf/lLuv/XVq1fp27ev+XdbW1vS0tK4cOECkyZNYtmyZdxzzz1kZ2cTGhrKvffey3/+\n8x9cXFxYvXo1AFOnTmXFihVMmTKFQYMG8euvvzJhwgTS0tLKvedv771hwwYAYmNjzfc2GAzMmzeP\nmJgYpkyZwowZM/j888+58847Wbt2Ld99950CArEIBQQilTBixAhCQkL49ttv+fbbb1m6dClLly4l\nNTUVAC8vLx566CEA2rVrx0cffQTA3//+d3bt2sXSpUs5duwYOTk5pVYahg4dar7mj3/8I99++22Z\ne18PEq5cucLevXuJj48HwNnZmeDgYNLT08sNCK4/MigsLOTNN9/k0KFDPP744wA0adKEuLg4tm/f\nzrFjx/j5559L9euBBx6gRYsWANx///189tln5s9mzZpFXl4en332WZlgAK59+Xbt2tV87fnz5wHY\nvn07kyZNwsbGBicnJ/r3789///vfMtenp6czYcIE7O3tgWv7Fl544YUy55WnuLiYmTNnkp6eTkJC\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ab39898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# get features from column names...\n",
    "visualizer = Rank1D(algorithm='shapiro')\n",
    "visualizer.fit_transform_show(X, y);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAFXCAYAAADd8FZSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtYVWX+///n5pjKQRDDLMaPgpOVGaF+qXFKLcdAwwMK\nKYp5nPlUmklNaI5GpOYBtVFK1CSQFBNCy2OmlahNljk22mFUVAwPgJonRE57//7w5/5EgILuzfH1\nuK65Llh7rXvd9+1w7Xf3utf7bTCZTCZERESkQbOp6Q6IiIhIzVNAICIiIgoIRERERAGBiIiIoIBA\nREREUEAgIiIiKCAQqZR9+/YRHh5OUFAQTz/9NKNHj+bQoUMA7N69m6efftpi99q2bRvTpk27rTYW\nLlzII488Qt++fenbty99+vThiSee4K233uJ23jQODw9n8+bNZY5PnjyZr7766na6XCk7d+6ke/fu\nDBgwgKtXr5b6bMeOHQQHB9O3b1/69+/Pjh07ADCZTMyfP59evXrRq1cvIiMjyc/PL9N2VlYW9913\nn3nOrv/vn//85y3398svv7yt60Wqk11Nd0CktissLORvf/sb8fHxPPDAAwB8/PHHjBkzhm3btln8\nfk8++SRPPvnkbbfTq1cvpk6dav79woUL9OnThz//+c889thjt93+b02fPt2i7VVkw4YNhISE8Pzz\nz5c6funSJV555RU++OAD2rZty88//8zQoUP58ssv+eqrr9i1axdr167F3t6e8ePHs3z5cv72t7+V\naf+OO+7g448/tlh/9+/fz4ULFyzWnog1KSAQuYn8/HwuXbrElStXzMf69OmDk5MTJSUlAFy5coUJ\nEyZw5MgRCgoKmDZtGp06deLo0aNER0dz5coVcnJyaNeuHW+//TaOjo7cf//9PPvss+zevZsrV64Q\nERFBz549SUtL49NPP2Xx4sWEh4fj6urKkSNHGDx4MH/5y1+IiorixIkTmEwm+vXrx+jRoys1jjNn\nznD16lVcXV0BSE1N5cMPP6SoqIgLFy4wZswYwsLCSEtL47PPPsPGxobMzEzs7e2ZNWsWf/zjH81t\nFRcX8/LLL2NnZ8esWbMYMWIEQ4YMoX379gwfPpyuXbvy/fffc+HCBSZMmECvXr3Iz8/n9ddf5/vv\nv8fZ2RkfHx8AZs6cWaqfRUVFzJw5k3/961/Y2trSoUMHJk2axKpVq9i2bRuOjo5cunSJyMjIUte8\n/vrrtG3bFgAfHx9MJhO//vorPXv2pHv37tjb23P58mXOnTtH06ZNq/z/g7179xITE0N+fj4Gg4Fx\n48bRvXt3rly5QlRUFMeOHePChQs0adKEmJgYLl26xKpVqygpKcHZ2ZlWrVqZ/12BUv/OEydO5Pz5\n8/zyyy9069aN8ePHExMTw7fffktJSQn3338///jHP3BycmLlypWsWrUKe3t7HB0diY6ONs+lyO1Q\nQCByE66urvz9739n9OjReHh44Ofnh7+/P71798bBwQGA06dPM3/+fB566CESEhJYuHAhiYmJrF69\nmn79+tG3b1+KiooIDg7myy+/5KmnnqKkpARXV1fS0tLM/0XbqVOnMvd3cXFh48aNAAwdOpQnn3yS\nESNGcOnSJYYMGcJdd91F7969y1y3ceNGvvvuO65evcr58+e5//77eeONN+jQoQN5eXmkpKSwZMkS\n3Nzc2LdvHyNGjCAsLAyAb7/9lvXr19OiRQvefPNNli1bxqxZs4BrX77jx4/H09OTKVOmYDAYSt33\nl19+4c9//jNTpkzh008/ZebMmfTq1Yt3332XkpISNm3axJUrVwgLC+P+++8v0+9FixaRk5PDxx9/\njK2tLZMnT2b27NlER0dz+PBh2rZty6hRo0pd4+7uTq9evcy/L1iwgP/5n//By8sLAHt7ez744APe\nfvttPD09+ctf/lLuv/XVq1fp27ev+XdbW1vS0tK4cOECkyZNYtmyZdxzzz1kZ2cTGhrKvffey3/+\n8x9cXFxYvXo1AFOnTmXFihVMmTKFQYMG8euvvzJhwgTS0tLKvedv771hwwYAYmNjzfc2GAzMmzeP\nmJgYpkyZwowZM/j888+58847Wbt2Ld99950CArEIBQQilTBixAhCQkL49ttv+fbbb1m6dClLly4l\nNTUVAC8vLx566CEA2rVrx0cffQTA3//+d3bt2sXSpUs5duwYOTk5pVYahg4dar7mj3/8I99++22Z\ne18PEq5cucLevXuJj48HwNnZmeDgYNLT08sNCK4/MigsLOTNN9/k0KFDPP744wA0adKEuLg4tm/f\nzrFjx/j5559L9euBBx6gRYsWANx///189tln5s9mzZpFXl4en332WZlgAK59+Xbt2tV87fnz5wHY\nvn07kyZNwsbGBicnJ/r3789///vfMtenp6czYcIE7O3tgWv7Fl544YUy55WnuLiYmTNnkp6eTkJC\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1046c7a20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Raw numpy version\n",
    "visualizer = Rank1D(algorithm='shapiro', features=features)\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAd8AAAFXCAYAAADj40TtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0VAWa/vEnKRKWJBAj0qIsohBlGUAWkVH2QRCJYQtL\nIMpmI3JAoEchMQlIAAkgKKiAaRm62UJEGlQYGIYtCAwyQdAgCCiL0soiWxJCtrq/P/ilRgQDVdS9\nITffzzl9DklRdZ+8ePrl3rr14GMYhiEAAGAZ3+IOAABAacPyBQDAYixfAAAsxvIFAMBiLF8AACzG\n8gUAwGIsX9x19u3bp6ioKIWFhalr164aOnSojhw5IknavXu3unbt6rVjbdq0SZMnT76j15g7d66e\nfPJJhYeHKzw8XM8//7zat2+vt956S3fySb6oqCitX7/+hu+/8cYb2rlz551Evi1ffPGF2rVrp549\ne+rq1avXPbZ9+3b16NFD4eHh6t69u7Zv3y5JMgxDs2fPVpcuXdSlSxeNGzdO2dnZN7z2Tz/9pLp1\n67pmVvi/d9991+O8W7duvaPnA1YqU9wBgN/Kzc3VsGHDtHDhQtWvX1+StGbNGr300kvatGmT14/X\noUMHdejQ4Y5fp0uXLoqPj3d9fenSJT3//PN6+umn1apVqzt+/d+aMmWKV1/vj6xdu1YRERF65ZVX\nrvt+RkaG/v3f/11LlixRnTp1dOjQIQ0YMEBbt27Vzp07tWPHDq1evVp+fn569dVX9fe//13Dhg27\n4fXLlSunNWvWeC3vN998o0uXLnnt9QAzsXxxV8nOzlZGRoauXLni+t7zzz+vwMBAFRQUSJKuXLmi\nMWPG6IcfflBOTo4mT56sZs2a6dixY5o0aZKuXLmiM2fO6LHHHtM777yjsmXLql69enrxxRe1e/du\nXblyRWPHjtUzzzyjVatWacOGDVqwYIGioqJUqVIl/fDDD+rXr586duyoiRMn6tSpUzIMQ926ddPQ\noUNv6+c4d+6crl69qkqVKkmSVq5cqRUrVigvL0+XLl3SSy+9pMjISK1atUobN26Ur6+vTpw4IT8/\nPyUmJio0NNT1Wvn5+frLX/6iMmXKKDExUYMGDVL//v3VoEEDDRw4UG3atNH+/ft16dIljRkzRl26\ndFF2drYmTJig/fv3KygoSLVr15YkTZs27bqceXl5mjZtmnbt2iWHw6GGDRsqOjpaycnJ2rRpk8qW\nLauMjAyNGzfuuudMmDBBderUkSTVrl1bhmHowoULeuaZZ9SuXTv5+fkpMzNT58+fV3BwsNv/Hezd\nu1czZ85Udna2fHx8NHLkSLVr105XrlzRxIkTdfz4cV26dEkBAQGaOXOmMjIylJycrIKCAgUFBalm\nzZquP1dJ1/05jx8/XhcvXtSPP/6otm3b6tVXX9XMmTO1Z88eFRQUqF69eoqNjVVgYKCWLVum5ORk\n+fn5qWzZspo0aZJrlsCdYPnirlKpUiW99tprGjp0qCpXrqwmTZqoRYsWeu655+Tv7y9J+uWXXzR7\n9mw1atRIixYt0ty5c/W3v/1NKSkp6tatm8LDw5WXl6cePXpo69at6tSpkwoKClSpUiWtWrXKdabW\nrFmzG45fsWJFrVu3TpI0YMAAdejQQYMGDVJGRob69++vqlWr6rnnnrvheevWrVNaWpquXr2qixcv\nql69enrzzTfVsGFDZWVl6eOPP9aHH36oe+65R/v27dOgQYMUGRkpSdqzZ48+//xz3X///UpISNBH\nH32kxMRESdcW3auvvqo//elPiouLk4+Pz3XH/fHHH/X0008rLi5OGzZs0LRp09SlSxd98MEHKigo\n0H/+53/qypUrioyMVL169W7IPW/ePJ05c0Zr1qyRw+HQG2+8oenTp2vSpEk6evSo6tSpoyFDhlz3\nnJCQEHXp0sX19Zw5c/TQQw+pevXqkiQ/Pz8tWbJE77zzjv70pz+pY8eON/2zvnr1qsLDw11fOxwO\nrVq1SpcuXVJ0dLQ++ugjVatWTadPn1bv3r316KOP6uuvv1bFihWVkpIiSYqPj9fSpUsVFxenvn37\n6sKFCxozZoxWrVp102P+9thr166VJL333nuuY/v4+GjWrFmaOXOm4uLiNHXqVG3evFlVqlTR6tWr\nlZaWxvKFV7B8cdcZNGiQIiIitGfPHu3Zs0dJSUlKSkrSypUrJUnVq1dXo0aNJEmPPfaYPvnkE0nS\na6+9ph07digpKUnHjx/XmTNnrjuDHjBggOs5oaGh2rNnzw3HLlzIV65c0d69e7Vw4UJJUlBQkHr0\n6KHU1NSbLt/Cy865ublKSEjQkSNH1Lp1a0lSQECA5s+fr23btun48eM6dOjQdbnq16+v+++/X5JU\nr149bdy40fVYYmKisrKytHHjxhsWr3Rt0bVp08b13IsXL0qStm3bpujoaPn6+iowMFDdu3fXd999\nd8PzU1NTNWbMGPn5+Um69j7ziBEjbvh9N5Ofn69p06YpNTVVixYtuu6xAQMGqH///nrnnXc0atQo\nLVmy5Ibn/9Fl53379uns2bPX5fDx8dF3332nzp07q3r16lq8eLFOnDihL7/8Uo8//vht5f2tpk2b\nun69detWZWRkuN5Hz8vL07333iuHw6HOnTurb9++atu2rZ566imFhYW5fSzgZli+uKukpaXpq6++\n0tChQ9WuXTu1a9dOY8eOVVhYmHbs2KF77rnHtSika/+nXHhT09ixY1VQUKBnn31Wbdu21c8//3zd\nDU8Oh8P1a6fTed3XhSpUqOB6/Pc3SzmdTuXn5xeZ39/fX3FxcerZs6dmzJihCRMm6JdfflGfPn3U\nu3dvNW3aVJ07d9aWLVtczylXrtxNfx7p2iV3wzAUGxur+fPn33A8Pz8/+fr6up5bqEyZMte9TuHv\n+T2n03nD13l5eUX+jNK197RHjRolwzC0YsUK3XPPPZKkQ4cOyel0ql69evLx8VFERIT+/ve/3/L1\nfqugoECPPPKIPv74Y9f3Tp8+rZCQEC1btkwpKSnq37+/wsLCFBwcrJ9++umG1/j9HH//MxX+ORf+\nzDExMa6/xGRlZSknJ0eSNHPmTB0+fFg7d+50/QVw3rx5bv08wM1wtzPuKiEhIZo3b57+93//1/W9\ns2fPKjs7+7r3QW/miy++0IgRI9SlSxf5+Pho//79rveJJWn16tWSpAMHDujYsWNq3rz5H75WYGCg\nGjVqpKVLl0q6dpPR6tWr9a//+q+3/Bn8/f01YcIErVixQgcOHFB6erpCQkL0yiuvqFWrVq7F+9ts\nf6Rhw4YaPXq0Tp486brUejvatGmjTz75RE6nU9nZ2fr8889veubcqlUrJScnKy8vT06nU0uXLtVT\nTz1V5Gvn5uZq8ODBqlatmhYuXOhavNK15RsdHe26w3n16tV68sknbzu3JDVu3FgnTpxwXZk4ePCg\nOnXqpDNnzuiLL75Q9+7dFRERoVq1amnz5s2uOTocDtdfjkJCQnTkyBHl5OQoPz//ur/s/N7TTz+t\npUuXKjc3V06nU3FxcZo1a5bOnz+vNm3aKDg4WAMHDtTo0aNvevUA8ARnvrir1KpVS++//75mz56t\nX375RWXLllVQUJAmTZqkhx9+WGfPnv3D544ZM0YjRoxQpUqVVL58eTVv3lwnT550Pb53716lpKTI\n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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10adc78d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# numpy version, no feature names\n",
    "visualizer = Rank1D(algorithm='shapiro')\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n6cL7tJMmTbrk6y6nsrJSc+fOVU5OjpYvX17jvlGjRmnkyJFasGCBnn32Wa1YseKS46/0Mu+BAwd0\n6tSpGusICQnRF198oQEDBqh169Z6//33dezYMf39739Xly5drmq939etWzfvx9u2bVNRUZH3feiK\nigrddtttcrlcGjBggB5//HH16dNHPXv2VEJCwjU/FnAxwhQ+l5ubq/3792v8+PHq27ev+vbtq2nT\npikhIUG7du1SixYtvP/wSxf+ka2+yGfatGmqqqrSY489pj59+ug///lPjQuAXC6X92OPx1Pj82q3\n3HKL9/6LLx7yeDyqrKysdf1NmjRRamqqhg4dqt/97neaNWuWTpw4oeHDh2vYsGHq1q2bBgwYoI8/\n/th7TNOmTS/7fKQLL3E7jqNXXnlF77zzziWP53a71ahRI++x1Ro3blzjPNVfczGPx3PJ5xUVFbU+\nR+nCe8LPPvusHMfRmjVr1KJFC0nS4cOH5fF4FBMTo5CQEKWkpOi9996r83zfV1VVpfvuu09r1671\n3nby5ElFRUVp1apVyszM1MiRI5WQkKDmzZvrm2++ueQcF8/x4udU/X2ufs4vvfSS94eS4uJilZWV\nSZIyMjKUn5+v3bt3e3+gW7x48TU9H+BiXM0Ln4uKitLixYv1j3/8w3vbqVOnVFpaWuN9xMvZuXOn\nJk2apPj4eIWEhOjgwYPe91klKTs7W5L02Wef6auvvlKPHj2ueK7w8HB16tRJK1eulHThopvs7Gz9\n7Gc/q/M5NGnSRLNmzdKaNWv02WefKS8vT1FRUZo4caJ69+7tDdLvr+1KYmNj9dxzz+n48ePelzav\nRlxcnD744AN5PB6VlpZqw4YNl93Z9u7dW6tXr1ZFRYU8Ho9Wrlypnj171nru8vJyjRs3Tvfcc4+W\nLVvmDVLpQpjOmDHDewVvdna2HnrooatetyR17txZx44d875ycOjQIfXv318FBQXauXOnkpKSlJKS\nojZt2uijjz7yztHlcnl/2ImKitKRI0dUVlamysrKGj+8XKxXr15auXKlysvL5fF4lJqaqjfffFOn\nT59WXFycmjdvrjFjxui555677O4euFbsTOFzbdq00dtvv6358+frxIkTCg0NVUREhNLS0vTjH/9Y\np06duuKxU6dO1aRJkxQZGalmzZqpR48eOn78uPf+ffv2KTMzUx6PR/Pnz/deHHQlGRkZSktLU1ZW\n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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b0cfd68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# disable tick labels\n",
    "visualizer = Rank1D(algorithm='shapiro', show_feature_names=False)\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### vertical orient"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ae212b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# get features from column names...\n",
    "visualizer = Rank1D(algorithm='shapiro', orient='v')\n",
    "visualizer.fit_transform_show(X, y);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ad96588>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Raw numpy version\n",
    "visualizer = Rank1D(algorithm='shapiro', features=features, orient='v')\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeEAAAFZCAYAAACv05cWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtUVXX+//EXHC4aB02stEzLr4mljhraZTJQYkxF8YJf\nL6lMWc6YVJoyWYSgoSmYpd/UdOybOpqOaLKo0bLJK15aZRjmJS+TStaa1K944SYHOPv3hz/PSF7g\nIPhBej7Wci3O3ufz3u+zOfI6n3322cfDsixLAADghvM03QAAAL9VhDAAAIYQwgAAGEIIAwBgCCEM\nAIAhhDAAAIYQwqjWMjMzFRUVpYiICPXs2VPDhw/XoUOHJElfffWVevbsWWnbWr9+vSZPnnxdNWbN\nmqVHH31UvXv3Vu/evdWrVy898cQTmjp1qq7n04BRUVFau3btZcvj4uK0ffv262m5XLZu3arQ0FD1\n69dP58+fL7Vuy5YtioyMVO/evdW3b19t2bJFkmRZlmbMmKHw8HCFh4fr1VdfVUFBwWW1f/rpJz3w\nwAOufXbx3//8z/9UuN9NmzZd13jgRvEy3QBwNQ6HQyNGjNCCBQvUqlUrSdLHH3+sP/3pT1q/fn2l\nby8sLExhYWHXXSc8PFwJCQmu22fPnlWvXr30+OOPKzg4+LrrX+rNN9+s1HpXs2bNGvXv31/R0dGl\nlufk5Ogvf/mLPvzwQzVv3lz79+/X0KFDtWnTJm3fvl3btm1TWlqavL29NXr0aC1evFgjRoy4rH6t\nWrX08ccfV1q/u3fv1tmzZyutHlBVCGFUWwUFBcrJyVF+fr5rWa9evWS321VSUiJJys/P15gxY3T4\n8GEVFhZq8uTJ6tChg44cOaLExETl5+frxIkTuv/++zVz5kz5+vqqZcuWevrpp/XVV18pPz9fY8eO\n1ZNPPqnU1FR9/vnn+utf/6qoqCjVrVtXhw8f1lNPPaUuXbpo4sSJ+vnnn2VZlvr06aPhw4eX63H8\n3//9n86fP6+6detKkj766COlpKSoqKhIZ8+e1Z/+9CcNHjxYqamp+uKLL+Tp6amsrCx5e3srOTlZ\ngYGBrlrFxcWKiYmRl5eXkpOTNWzYMA0ZMkStW7fWM888o06dOmnXrl06e/asxowZo/DwcBUUFGjC\nhAnatWuX/P39dd9990mSkpKSSvVZVFSkpKQkffnll7LZbGrTpo1iY2O1fPlyrV+/Xr6+vsrJydGr\nr75aasyECRPUvHlzSdJ9990ny7J0+vRpPfnkkwoNDZW3t7dyc3OVnZ2tW2+91e3nwc6dOzV9+nQV\nFBTIw8NDL730kkJDQ5Wfn6+JEyfq6NGjOnv2rPz8/DR9+nTl5ORo+fLlKikpkb+/v+655x7X71VS\nqd/za6+9pjNnzujYsWPq3LmzRo8erenTp2vHjh0qKSlRy5YtNX78eNntdi1btkzLly+Xt7e3fH19\nlZiY6NqXQEURwqi26tatq1deeUXDhw/XbbfdpqCgID3yyCPq0aOHfHx8JEm//PKLZsyYobZt22rR\nokWaNWuW/va3v2nFihXq06ePevfuraKiIkVGRmrTpk3q2rWrSkpKVLduXaWmprpmbh06dLhs+3Xq\n1NGnn34qSRo6dKjCwsI0bNgw5eTkaMiQIbrzzjvVo0ePy8Z9+umnysjI0Pnz53XmzBm1bNlSb7zx\nhtq0aaO8vDytXLlS8+fPV7169ZSZmalhw4Zp8ODBkqQdO3Zo9erVatiwoSZNmqQPPvhAycnJki4E\n3ujRo9WgQQPFx8fLw8Oj1HaPHTumxx9/XPHx8fr888+VlJSk8PBwvffeeyopKdFnn32m/Px8DR48\nWC1btrys77lz5+rEiRP6+OOPZbPZFBcXp2nTpikxMVH/+te/1Lx5cz333HOlxgQEBCg8PNx1+913\n39W9996rxo0bS5K8vb314YcfaubMmWrQoIG6dOlyxd/1+fPn1bt3b9dtm82m1NRUnT17VrGxsfrg\ngw9099136/jx4xowYIBatGih7777TnXq1NGKFSskSQkJCVq6dKni4+M1aNAgnT59WmPGjFFqauoV\nt3npttesWSNJmj17tmvbHh4eeueddzR9+nTFx8drypQp2rBhg+644w6lpaUpIyODEMZ1I4RRrQ0b\nNkz9+/fXjh07tGPHDr3//vt6//339dFHH0mSGjdurLZt20qS7r//fq1atUqS9Morr2jbtm16//33\ndfToUZ04caLUjHro0KGuMYGBgdqxY8dl274YzPn5+dq5c6cWLFggSfL391dkZKTS09OvGMIXD0c7\nHA5NmjRJhw4dUkhIiCTJz89P8+bN0+bNm3X06FHt37+/VF+tWrVSw4YNJUktW7bUF1984VqXnJys\nvLw8ffHFF5cFsHQh8Dp16uQae+bMGUnS5s2bFRsbK09PT9ntdvXt21cHDhy4bHx6errGjBkjb29v\n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\ny+vCsFtvvVW/+93vdPvtt0uSOnTooO+//77MEG7durV8fX2vp+//WLavwkPbt29/3XVK1aipddjH\nVV+HfVz1darbPsZvQmFh4TUnnmUejg4KClJ6erokKTMzU4GBga51rVq10sGDB5Wdna3i4mLt2rVL\n9913XyW0DQBAzVfmTLhLly7atm2bBg0aJMuyNGXKFC1cuFBNmjRRWFiYYmJiNHz4cElSt27dSoU0\nAAC4ujJD2NPTU4mJiaWWNWvWzPVzjx491KNHj8rvDACAGo6LdQAAYAghDACAIYQwAACGEMIAABhC\nCAMAYAghDACAIYQwAACGEMIAABhCCAMAYAghDACAIYQwAACGEMIAABhCCAMAYAghDACAIYQwAACG\nEMIAABhCCAMAYAghDACAIYQwAACGEMIAABhCCAMAYAghDACAIYQwAACGEMIAABhCCAMAYAghDACA\nIYQwAACGEMIAABhCCAMAYAghDACAIYQwAACGEMIAABhCCAMAYAghDACAIYQwAACGEMIAABhCCAMA\nYAghDACAIYQwAACGEMIAABhCCAMAYAghDACAIYQwAACGEMIAABhCCAMAYAghDACAIYQwAACGEMIA\nABhCCAMAYAghDACAIYQwAACGEMIAABhSZgg7nU4lJCRo4MCBioqKUlZW1hXvM3z4cP3973+vkiYB\nAKiJygzhdevWyeFwKCUlRTExMUpKSrrsPjNnztS5c+eqpEEAAGqqMkM4IyNDwcHBkqR27dppz549\npdavXbtWHh4ervsAAIDy8SrrDrm5ubLb7a7bNptNxcXF8vLy0sGDB7V69Wq9++67mjNnTrk3+usg\nNyUjI6Na1KBO1degTtXXoE7V10DNU2YI2+125eXluW47nU55eV0YlpaWpuPHj+vpp5/Wzz//LG9v\nbzVq1EghISHXrNm6dWv5+vpeZ+v/37J9FR7avn37665TqkZNrcM+rvo67OOqr1Pd9jF+EwoLC685\n8SwzhIOCgrRx40aFh4crMzNTgYGBrnXjxo1z/Txr1izddtttZQYwAAC4oMwQ7tKli7Zt26ZBgwbJ\nsixNmTJFCxcuVJMmTRQWFnYjegQAoEYqM4Q9PT2VmJhYalmzZs0uu99LL71UeV0BAPAbwMU6AAAw\nhBAGAMAQQhgAAEMIYQAADCGEAQAwhBAGAMAQQhgAAEMIYQAADCGEAQAwhBAGAMAQQhgAAEMIYQAA\n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\n586devnll8tV49ChQ5e9MA8LCyv1+yuPw4cPa+PGjerVq5db437N4XC4nvMPPPCAoqOjtWTJkmrx\ntlGNCeEXqttdAAAF5UlEQVQWLVooNjZWwcHB8vf3V15enjZv3qwWLVq4Xesvf/mLxo8frzlz5shm\ns1Won0aNGmnq1KkaPXq07Ha7Zs+ereeee87tP8hNmzZVXFycJk2apKSkJEnS/Pnz3Zo91K9fXzNn\nzlRycrJ2797t1vYvlZubq8jISOXn52vlypXq1auXkpKS3H6V/cQTT2jkyJEKDAzUiBEjFBwcrC1b\ntujRRx91q87F/0C/+93vNGvWLOXk5GjHjh1uH2Zv1KiRxowZo5KSEvn5+WnGjBmy2+26/fbb3apz\n9913KyEhQSEhIdq0aZNat26tTZs2qXbt2m7VqYl/wLKysrRs2TI5HA5FRESof//+kq79QuFKhgwZ\nolWrVikuLk61a9dWTEyMW6F5pb4uvrBp1qyZ/vnPf7o13maz6ZFHHtG8efM0adIkSRf20WeffeZW\nnUaNGmnOnDl699131atXL/Xs2VMhISFq3Lix7HZ7uWocPXpUS5culWVZ6tGjh4YMGSJJ+tvf/uZW\nL/v373c9/0JCQjRs2DAtXLhQTz31VLlrOJ1OffPNN+rQoYNr2Y4dO+Tt7d4XKsTGxurw4cMKCQm5\n6hcDlUdJSYkOHDigFi1aKCgoSCNGjNDIkSOVn59f4ZqVpcaE8MSJE7Vu3TplZGQoNzdXdrvd9Z6s\nu9q2bavevXvrwIEDFRovSVOmTNEnn3ziekV75513avHixfrrX//qVp3Jkydrw4YN8vT8z9v3DRo0\nUFRUlFt1vLy8FBcXp9TU1Aq/+ktNTZXD4dD+/ftVq1YteXh4KDAwUP/93//tVp0///nP+vrrr7V1\n61bdddddOnXqlKKiotS5c2e36kRGRpa6ffHVu7uSk5O1efNm3XvvvfLz89OiRYtUq1YtTZkyxa06\nU6dO1cqVK7Vt2za1adNG/fr10+7du/XOO++4Vaem/gHLyMhQ+/bttXDhQkkXAtDdkwwjIiLUrFkz\nvfXWW3rttdfk6+urRo0auVVDuhBYixYtkpeXl/bt26eWLVtq9+7dlx0BK4u/v7/Wrl2rTp06KS0t\nTaGhodq8ebPbL7w8PDxUp04djR8/XtnZ2Vq7dq3ee+89HT16VP/4xz/KVaO4uFhbtmzR6dOnderU\nKf3www+y2+0qLi52q5fCwkLt2rVLbdu21TfffCObzaazZ8+qoKCg3DWSkpI0depUxcTEyLIseXp6\n6oEHHtD48ePd6kWSpk2bdtlzzeFwuPWVufHx8Zo8ebJmzpyp+vXrKzw8XEVFRW7/H68SFoBqJSsr\ny3r++eet4OBg6/HHH7dCQkKs559/3jpy5IjbtU6dOmUdO3bsuvrZt2+fNXToUOvkyZOuZWlpadbD\nDz9c7hqHDh2yoqOjLafT6Vr2/PPPWzt37qxQT9nZ2VZ0dLTVs2fPCo3ft2+ftWLFCmvChAlWamqq\nde7cOat///7W3r173apz6tQp67XXXrOefPJJq1WrVlbHjh2tUaNGWT///LNbdcaMGePW/a9k3759\n1gsvvGDNnj3bWr16tfX73//e6t69u/XNN9+4VWfPnj1WZGSk1bFjR2vQoEHW4cOHrYULF1obNmwo\nd43169dbnTt3tsLCwqzVq1e7lkdFRbnVy8U6f/jDH6w1a9ZUep3Bgwe7VacqEMIAKqSkpMT49r/7\n7jujPeDK+vfvb509e9bKzs62oqKirNTUVMuyLGvo0KFu1zlz5kyl1KmMfqpCjTkcDdQUVzox8CJ3\nTj6qjBMMK6ufmviYqrqOu4+rOj0mb29v1alTR9L1nZhaWSe4VlY/VYEvcACqmV27dl31xEB33v+s\nTnWqUy81tU516mXcuHGqV6+eRo8erVtuuUX//ve/XSembt26tdy9VLc6VcE2ceLEiUY7AFBKw4YN\nlZ+fr+LiYrVr10516tRx/btZ61SnXmpqnerUS2hoqE6dOqXmzZvL29tb/v7+6tq1q86ePevW542r\nW52qwEwYAABDasxlKwEAuNkQwgAAGEIIAwBgCCEMAIAhhDAAAIb8P3FP+BnJgAq/AAAAAElFTkSu\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ae326d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# numpy version, no feature names\n",
    "visualizer = Rank1D(algorithm='shapiro', orient='v')\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b0b5b00>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# disable tick labels\n",
    "visualizer = Rank1D(algorithm='shapiro', show_feature_names=False, orient='v')\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### quick methods"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAFJCAYAAADkLDW5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVXW6x/HP5rINBRTCQS3ypWCXEzmIeqjxlFqOgYYl\nCimKWepcGs2JGtE8GTFqeZ+jlHgjkFFKCCuvmdaI2SsaM0u7HBQNwwt4yRsit73PH77cJ+Oue7PZ\n8H3/BWuv9VvPel754mmttZ/HYDabzYiIiEiL5mTvAERERMT+VBCIiIiICgIRERFRQSAiIiKoIBAR\nERHAxd4B2IvJZKK4uBhXV1cMBoO9wxEREbEps9lMeXk5bdq0wcmp6v2AFlsQFBcXk5uba+8wRERE\nGtWdd96Jh4dHle0ttiBwdXUFribGaDTaOZrm68CBAwQGBto7jGZPebY95bhxKM+2U1ZWRm5uruXv\n36+12ILg2mMCo9FIq1at7BxN86b8Ng7l2faU48ahPNtWTY/J9VKhiIiIqCAQERERFQQiIiKCCgIR\nERFBBYGIiIiggkBERERQQSAiIiKoIBARERFUEIiIiAgqCERERAQwmM1ms72DsIfS0lIOHDjA4+8f\n5ERxub3DERGRZqByQYy9Q6jRtb97gYGB1baH1h0CERERaboFQVZWFjNmzCA+Pr7e++/YsQOAf/7z\nnzaMTEREpPlpsgUBgKenZ70LgoiICB555BEAli5dasOoREREmp8mPf742LFjREVFsW7dOsLDw+nV\nqxf/+7//S9euXbn11lvZs2cPRqOR5cuXk5SUhI+PD+fOneP8+fPEx8fXu5gQERFp6Zr0HYJfKi4u\n5rHHHmPt2rXs2bOH4OBg1qxZQ3l5OYcOHbLs9+c//5m2bduqGBAREWkAhykIAO69917g6qMEf39/\ny8+lpaX2DEtERMThOVRBYDAY6rVfC/0mpYiIyA1zqIKgvvz9/XnxxRftHYaIiIjDUGMiNSYSEREr\nceTGRE36WwaNIW/60GoTI9bx5Zdf0rNnT3uH0ewpz7anHDcO5dl+muUjAxEREWmYFn+HwH/Wej0y\nsLW139k7gpZBeba9euS4Kd8yFqmN7hCIiIiICgIRERFRQSAiIiI4SEFw5MgRRowYwejRo4mOjubE\niRMsWLCAkSNH8uSTT7JlyxYqKioYMWIEu3bt4vTp0wwePJgTJ07YO3QRERGH4BAvFX722Wd0796d\nv/3tb+zZs4ft27dTUFBAeno6paWlREVF0adPH+bPn8+f/vQn2rdvz5QpU+jYsaO9QxcREXEIDlEQ\nDB8+nBUrVjB+/Hg8PDy4++67+fbbb4mJufo2b0VFBceOHeOee+4hODiYffv28dBDD9k5ahEREcfh\nEI8MduzYQc+ePUlNTSU0NJSsrCxCQkJIS0sjNTWVsLAw/Pz82LdvHwcPHqR3794kJyfbO2wRERGH\n4RB3CAIDA4mLi2Pp0qWYTCYWL17Mhg0biI6O5vLlywwYMACz2cz06dNJTEykU6dOREZG8p//+Z/c\nd9999g5fRESkyXOIguCOO+4gPT39um2BgYFV9tu0aZPl5w8++MDmcYmIiDQXDlEQ2JJmGdiW+pI3\nDuXZ9pRjae4c4h0CERERsa0Wf4dAswwagXrsNw7l2faUY5v7Ivo/7B1Ci6U7BCIiIuLYBcH8+fPJ\nysqydxgiIiIOz6ELAhEREbGOJv0OQXl5Oa+88gr5+fmYTCb++te/cu7cOZYuXYq3tzfl5eV07dqV\nnJwc3n77bRYtWgRAnz592L17t52jFxERcRxNuiDIyMjAy8uL2bNn8/PPPzN69GguX75MVlYW7dq1\n4w9/+IO9QxQREWkWmnRBkJuby5dffsk333wDXL1jYDAY8PLyAqBHjx7VHmc2mxstRhERkeagSb9D\n0LVrVwYPHkxaWhorVqwgLCwMgLNnzwKwf/9+AFq1asWpU6cAOHbsGOfPn7dPwCIiIg6qSd8hGDFi\nBP/93//N6NGjuXTpEtHR0cyYMYNx48bRtm1bXFyuhh8YGIiHhweRkZH4+/tz++232zlyERERx9Kk\nCwKj0cjcuXOrbO/Xr1+VbUuXLm2EiERERJqnJl0QNAbNMrAt9X9vHMqz7SnHjePLL7+0dwgtVpN+\nh0BEREQaR4u/Q6BZBo1A/d8bh/Jse00sx5ULYuwdgjQjukMgIiIijlMQLF++3NKPoC6acSAiItIw\nDvPIQF0JRUREbMdmBUFWVhaffPIJV65c4dSpU4wZM4YdO3Zw8OBBpkyZwsmTJ9m2bRslJSV4eXmR\nmJjIxo0beffddzGZTDz33HO89NJLdO3aFX9/fy5cuMCgQYN44IEHqsw3CAkJ4cMPP6wy40BERETq\nx6Z3CIqLi0lOTmbTpk2kpKSwbt06cnJySElJITAwkJSUFJycnBg3bpyl66Cnp6elp8CJEyfIysrC\ny8uLqVOnAtXPN3jvvfd4/fXXNeNARETkBtm0ILjnnnsA8PDwwN/fH4PBQNu2bSkvL8fV1ZXY2Fha\nt27NyZMnqaioAKBLly6W4728vCxzC6759XyDiooKTp06Rdu2beuccSAiIiLVs2lBYDAYqt1eXl7O\n9u3bycjIoKSkhIiICMtAIien/3/P8Zc/X9O1a1c6dOjAn/70J65cucLSpUvx8fHhwoULnD17Fm9v\nb/bv30+HDh1sc1EiIiLNkF1eKnRxccHNzY0RI0YA0L59e4qKiup1bHXzDYxGY7UzDkRERKR+DOYW\nOiu4tLSUAwcO8Pj7B9WYSEQcUnNsTKQW0bZz7e9eYGBgtS37W/z/SmuWgW3pH3fjUJ5tTzmW5s5h\nGhOJiIiI7eiRgR4ZiIhIE2TtR0J1PTLQHQIRERFRQSAiIiIqCERERIQm/i2DS5cuMX36dC5evEhR\nURHR0dEEBgby6quv0qZNG2699VZatWrF66+/TlpaGhs3bsRgMDBo0CDGjBlj7/BFREQcRpMuCPLz\n8xk8eDADBw6ksLCQmJgY2rRpw9y5c+nWrRuLFi2isLCQQ4cOsXnzZtauXQvA008/zX/9139pwJGI\niEg9NemCwMfHh9TUVLZt24a7uzsVFRUUFRXRrVs3AHr27MnmzZvJzc3l+PHjjB07FoDz58+Tn5+v\ngkBERKSemnRBkJycTFBQENHR0Xz++efs3LmTDh06cOjQIQICAvj666+Bq/MNAgICWLlyJQaDgZSU\nFO666y47Ry8iIuI4mnRB0L9/f2bOnMnmzZvx8PDA2dmZGTNm8NJLL9G6dWtcXV3x9fXl7rvv5oEH\nHmDkyJGUlZXRvXt3fH197R2+iIiIw2jSBcH999/Pxo0br9u2Zs0akpKS8Pb2ZtGiRbi6ugIwfvx4\nxo8fb48wRUREHF6TLgiqc+utt/LMM8/QunVrPDw8eP31129qPc0ysC31f28cyrPtKceNQ3m2H4cr\nCEJDQwkNDbV3GCIiIs2KZhloloGIiNSgOY2Y1iwDERERqVOTKgj69OlT42cFBQVERUU1YjQiIiIt\nR5MqCERERMQ+GvxSYXXzBbZs2UKXLl04cuQIZrOZRYsWcfjwYebPn4+rqytRUVE88cQTVdaqrKzk\n5Zdf5tChQ/j5+VFWVgbAiRMnePnllyktLaVVq1b8/e9/v+64rVu3smbNGioqKjAYDCQmJpKSkoKv\nry+jRo3i/PnzPP3002RlZd1gWkRERFqWBt8huDZfIDk5mVWrVpGSkgJAcHAwaWlphIWFsWzZMuDq\nCwxr166tthgA+OijjygtLWXdunW88MILlJSUADBnzhxiYmJIS0tj3LhxzJ8//7rjfvzxR5YvX056\nejoBAQF8+umnREZG8t577wGwceNGwsPDG3ppIiIiLVaD7xBUN18ArjYRgquFwccffwxAly5dal3r\nxx9/pHv37gB06tSJjh07ApCbm8uyZctYuXIlZrMZF5frw7z11luJi4ujTZs2HD58mKCgIPz8/GjT\npg2HDh1iw4YNvPnmmw29NBERkRarwQVBdfMFAA4cOECHDh3Yu3cvAQEBADg51X4DIiAggE2bNvHU\nU09RWFhIYWEhcHU2wTPPPENwcDB5eXn8+9//thxz8eJFFi9ezL/+9S/g6mTDa9+cjIqK4s0338TX\n1xdvb++GXpqIiEiL1eCCoLr5AmVlZaxfv56UlBTc3NyYO3cuubm5da71yCOPsHv3biIjI+nUqRNe\nXl4AxMXFER8fT2lpKVeuXGH69OmWY9zd3QkODubJJ5/ExcUFT09PioqKABgwYAAJCQnMmzevoZcl\nIiLSolmlMVFMTAzx8fH4+/tbI6YbVlJSwujRo8nIyKjz7oQaE4mISF1aUmOiRmldnJiYSE5OTpXt\ns2fPxs/Pzyrn2Lt3L6+88gp/+ctf6iwGfkmzDGxLfckbh/Jse8px41Ce7ccqBUFaWlqtn0+cOJGJ\nEyda41Q1Cg4OZsOGDTY9h4iISHOlWQZ6ZCAi0qw0p9v81qRZBiIiIlKnJlUQpKens2TJkho/nzp1\nKtnZ2Y0YkYiISMvQpAoCERERsY86XyrMysrik08+4cqVK5w6dYoxY8awY8cODh48yJQpUzh58iTb\ntm2jpKQELy8vEhMTmTZtGuHh4fTr14+8vDzmzJnD8uXLq11/z549zJ49G09PT5ydnQkKCgKuvqi4\nceNGDAYDgwYNYsyYMZZjqpunEB4eztChQ/nwww9xdnZm3rx53HvvvQwaNMhKqRIREWm+6nWHoLi4\nmBUrVjBhwgTS09NJTEwkISGBzMxMzp07R0pKChkZGVRWVrJ//34iIyNZv349AJmZmQwfPrzGtV99\n9VUWLFhASkoKt99+OwCHDh1i8+bNrF27ljVr1rB9+3YOHz5sOaa6eQoeHh707NmTTz/9lMrKSrKz\nsxkwYMDN5EZERKTFqNfXDu+55x4APDw88Pf3x2Aw0LZtW8rLy3F1dSU2NpbWrVtz8uRJKioqCAkJ\nYebMmZw9e5bdu3cTGxtb49qnT5+2zDwIDg7m6NGj5Obmcvz4ccaOHQvA+fPnyc/PtxxT0zyFyMhI\n0tLSMJlM/O53v8NoNN5QUkRERFqaet0hMBgM1W4vLy9n+/bt/OMf/+Dll1/GZDJhNpsxGAwMGTKE\nmTNn0qdPH1xdXWtc29fXl7y8PAD2798PXJ1lEBAQwOrVq0lLSyMiIoK77rrLcsy1eQrz588nNDTU\nMsugV69e/PTTT3XelRAREZHr3VRjIhcXF9zc3BgxYgQA7du3t8wViIiIoF+/frz//vu1rpGQkMCU\nKVNwd3enTZs2tG3blrvvvpsHHniAkSNHUlZWRvfu3fH19bUcU9M8BaPRSHh4OFu3bqVbt243c2ki\nIiItis0aExUWFjJlyhRSU1NtsXyNVq5cSbt27eq8Q1BXgwaxDrUhbRzKs+0px41DebYdu8wy2LZt\nG0uWLCE+Ph6A48ePExcXV2W/3r1789xzz1ntvFOnTqWoqIikpCSrrSkiItIS2KQgGDhwIAMHDrT8\n3qlTpzrnHVjD66+/bvNziIiINEeaZaBZBiIizYJmGNROswxERESkTjdUEGRnZ/POO+9YOxb69OlT\n42cFBQVERUVZ/ZwiIiJyg+8QPPTQQ9aOQ0REROzohgqCrKwsdu3axbFjx1i3bh0AUVFRLFy4kPXr\n11NQUMCZM2c4fvw406ZN48EHH6x2ncrKSl5++WUOHTqEn58fZWVlAJw4cYKXX36Z0tJSWrVqxd//\n/vfrjtu6dStr1qyhoqICg8FAYmIiKSkp+Pr6MmrUKM6fP8/TTz9NVlbWjVyeiIhIi2OTdwiMRiMr\nV65k+vTppKSk1LjfRx99RGlpKevWreOFF16gpKQEgDlz5hATE0NaWhrjxo1j/vz51x33448/snz5\nctLT0wkICODTTz8lMjKS9957D4CNGzcSHh5ui0sTERFplqz2tcNfflnh2uyDDh06WP6vvzo//vgj\n3bt3B65+NbFjx44A5ObmsmzZMlauXInZbMbF5fowb731VuLi4mjTpg2HDx8mKCgIPz8/2rRpw6FD\nh9iwYQNvvvmmtS5NRESk2bvhgsDDw4MzZ85QWVlJcXExBQUFls9qmn3wawEBAWzatImnnnqKwsJC\nCgsLgauzDJ555hmCg4PJy8vj3//+t+WYixcvsnjxYv71r38B8PTTT1uKkaioKN588018fX3x9va+\n0UsTERFpcW64IPD09KRPnz4MHz4cPz8/Onfu3OA1HnnkEXbv3k1kZCSdOnXCy8sLgLi4OOLj4ykt\nLeXKlStMnz7dcoy7uzvBwcE8+eSTuLi44OnpaZmfMGDAABISEpg3b96NXpaIiEiLdEONidatW8eJ\nEyeYPHmyLWK6YSUlJYwePZqMjAycnGp/PUKzDBqH+pI3DuXZ9pTjxqE8247VZxns3LmT1atXW+YU\n1EdiYiI5OTlVts+ePRs/P7+GhlCtvXv38sorr/CXv/ylzmJARERErtfggqBv37707du3QcdMnDiR\niRMnNvRUDRIcHMyGDRtseg4REZHmSrMMNMtARKTJ05yCm9coswxqa2W8ZMkS0tPT673O1KlTa/y8\nIWuJiIhI/VmlD4FaGYuIiDg2qxQEtbUyrkteXh4vvfQSbm5uuLm50bZtWwC2bNlCSkoKTk5O9OzZ\nkxdffNFyTGVlJTNmzODkyZMUFRXx8MMPM3nyZB599FEyMjJo164da9eupbi4mAkTJljjEkVERJo1\nu7+OP3fuXJ577jlSUlLo0aMHAOfOnWPJkiWkpKSQnp5OYWEhu3fvthxz4sQJgoKCWLVqFZmZmbz9\n9ts4OTkRHh7Opk2bAPjggw8YOnSoXa5JRETE0VitdfGv1fddxV+2Lw4ODubw4cMcPXqUs2fP8oc/\n/AGA4uJijh49ajmmXbt27N+/n88//xx3d3dLe+Rhw4YRGxtL79698fHxwcfHx8pXJSIi0jxZ7Q7B\nL1sZX7hw4bpWxrXx9/fnq6++AuDAgQMA3H777XTs2JHk5GTS0tIYPXo0QUFBlmOysrLw8PBgwYIF\nPPPMM1y5cgWz2cxtt92Gh4cHSUlJDB8+3FqXJiIi0uxZ7Q7BjbYynjp1KnFxcaxatQpvb29atWqF\nt7c3Y8eOJSYmhsrKSm677TbCwsIsxzzwwAO88MIL7Nu3D6PRSOfOnSkqKsLX15eoqChmzpyp9sUi\nIiINYJU+BE2plfGWLVvIzc2tMxb1IRARcRzqQ3DzrN66+Nfq08q4rKyMcePGVdnepUsXEhISbjYE\ni4ULF5KTk0NSUlK9j8mbPlSzDGxIfckbh/Jse8px41Ce7eemC4L6tDI2Go2kpaXd7KnqFBsba/Nz\niIiINEd2/9qhiIiI2J/NvnboKPxnrdc7BLa29jt7R9AyKM+2pxw3iko9MrCLJnWHYP78+WRlZdX4\neUxMDHl5eY0YkYiISMvQpAoCERERsY96PzK4dOkS06dP5+LFixQVFREdHc2WLVuIj4/H39+f9PR0\nTp8+zaRJk3jjjTfYvn073t7elJSUMHnyZEJCQqpd98MPP2Tp0qV4e3tTXl5O165dAViwYAF79uzB\nZDIxduzY6/oQnDx5kvj4eEpLSzl16hR//etf8ff3529/+xuZmZkA/PWvf+WZZ56xdEEUERGRmtW7\nIMjPz2fw4MEMHDiQwsJCYmJi8PX1rbLfDz/8wK5du8jMzKS8vJzw8PAa1ywvL+f1118nKyuLdu3a\nWVoV79y5k4KCAtLT0yktLSUqKoo+ffpYjjt8+DBPP/00ISEh7N27lyVLlvDWW29xyy23cOjQIXx8\nfCgoKFAxICIiUk/1Lgh8fHxITU1l27ZtuLu7U1FRcd3n1/ob5eXlcd999+Hs7IyzszOBgYE1rnn2\n7Fnatm2Ll5cXgGW4UW5uLt9++y0xMVcbUVRUVHDs2DHLce3bt2fp0qVkZmZiMBgssURGRpKVlUWn\nTp0YMmRIfS9NRESkxav3OwTJyckEBQUxf/58QkNDMZvNGI1GTp06BcB33119+zYgIID9+/djMpko\nKyuzbK/OrbfeyoULFzh79iwA+/fvB6Br166EhISQlpZGamoqYWFh+Pn5WY77n//5Hx5//HHmzZtH\nSEiIpRgJDQ1l9+7dfPTRRyoIREREGqDedwj69+/PzJkz2bx5Mx4eHjg7OzNy5EheffVVOnXqxG9+\n8xsA7rrrLvr27UtUVBReXl64urri4lL9aVxcXJgxYwbjxo2jbdu2lv0efvhhvvjiC6Kjo7l8+TID\nBgzA3d3dclxoaChz585l+fLldOjQgZ9//hmAVq1a0bt3b86ePUu7du1uOCkiIiItjVVmGfzSmTNn\n2Lp1K6NGjaKsrIzBgweTmppKp06drHmaGr366qsMHDiQBx54oNb9NMtARKRp0twC27D5LINf8/Ly\n4sCBAwwbNgyDwUBkZCSnT58mLi6uyr5hYWFER0db7dzPPPMMXl5edRYDv6RZBralvuSNQ3m2PeW4\ncXz55Zf2DqHFsnpB4OTkxGuvvVZle2PMMkhOTrb5OURERJojNSYSERER679D4Cj0DoGIiOPQewU3\nr653CJrMHYLs7GymTp1a4+dLliwhPT29ESMSERFpOZpMQSAiIiL2U++XCo8cOcK0adNwcXHBZDKx\nYMEC1q5dW2XeQExMDF26dOHIkSOYzWYWLVpE+/btq10zLy+Pl156CTc3N9zc3Gjbti0AW7ZsISUl\nBScnJ3r27MmLL75oOaayspIZM2Zw8uRJioqKePjhh5k8eTKPPvooGRkZtGvXjrVr11JcXMyECRNu\nMj0iIiItQ73vEHz22Wd0796dt956i0mTJrF9+3bLvIHVq1eTlJTEhQsXAAgODiYtLY2wsDCWLVtW\n45pz587lueeeIyUlxdK2+Ny5cyxZsoSUlBTS09MpLCxk9+7dlmNOnDhBUFAQq1atIjMzk7fffhsn\nJyfCw8PZtGkTAB988AFDhw69oYSIiIi0RPW+QzB8+HBWrFjB+PHj8fDw4O67765x3sD9998PXC0M\nPv744xrX/PHHHy0DiIKDgzl8+DBHjx7l7NmzlkFHxcXFHD161HJMu3bt2L9/P59//jnu7u6UlZUB\nMGzYMGJjY+nduzc+Pj74+Pg0JA8iIiItWr3vEOzYsYOePXuSmppKaGgoWVlZNc4bOHDgAAB79+4l\nICCgxjX9/f356quvrjvm9ttvp2PHjiQnJ5OWlsbo0aMJCgqyHJOVlYWHhwcLFizgmWee4cqVK5jN\nZm677TY8PDxISkpi+PDhDc+EiIhIC1bvOwSBgYHExcWxdOlSTCYTixcvZsOGDdXOG1i/fj0pKSm4\nubkxd+7cGtecOnUqcXFxrFq1Cm9vb1q1aoW3tzdjx44lJiaGyspKbrvtNsLCwizHPPDAA7zwwgvs\n27cPo9FI586dKSoqwtfXl6ioKGbOnMm8efNuIiUiIiItj9X7EMTExBAfH4+/v781l62XLVu2kJub\ny+TJk+vcV30IREQch/oQ3LxGn2Xwa2VlZYwbN67K9i5dupCQkGC18yxcuJCcnBySkpIadJxmGdiW\n+r83DuXZ9pTjxqE824/VC4JfzywwGo2NMscgNjbW5ucQERFprtSYSERERGz/yKCp85+1Xu8Q2Nra\n7+wdQcugPNueA+VYz9yloRzqDkFOTg7PP/98le2zZs3i+PHjlnkHNe0nIiIi1WsWdwimT59u7xBE\nREQcms0LgkuXLjF9+nQuXrxIUVER0dHRbNmypcq8g8OHDzN//nxcXV2JioriiSeeqHa9/Px8xo0b\nx88//8zIkSOJjIy0fNVRREREbozNC4L8/HwGDx7MwIEDKSwsJCYmBl9fX4KDg0lISGDNmjUsW7aM\n3//+95SWlpKRkVHreuXl5ZbmSI8//jiPPPKIrS9BRESk2bN5QeDj40Nqairbtm3D3d2diooKoPp5\nB126dKlzvaCgIIxGI3C19XFBQYGNIhcREWk5bP5SYXJyMkFBQcyfP5/Q0FCuNUasbt6Bk1Pd4Xz3\n3XdUVFRw+fJl8vLyuOOOO2wXvIiISAth8zsE/fv3Z+bMmWzevBkPDw+cnZ0pKyurMu8gNze3Xuu1\natWKCRMmcOHCBSZNmkS7du1sfAUiIiLNn9VnGdSHPecdXKNZBiLSnDlqHwK1LrYdu88yuBGJiYnk\n5ORU2T579mzLiGVr0SwD29I/7sahPNuecizNnV0KgrpmG0ycOJGJEyc2UjQiIiLSJO8QNCa1Lm4E\nDtTu1aEpz7bnIDl21McFYl8O1bpYREREbMPhCoKYmBjy8vKu2/b999+TmJgIQJ8+fWrcT0RERKrX\nLB4Z3HPPPdxzzz32DkNERMRhWb0gyMrK4pNPPuHKlSucOnWKMWPGsGPHDg4ePMiUKVM4efIk27Zt\no6SkBC8vLxITE5k2bRrh4eH069ePvLw85syZw/Lly2s8x+LFi/n5558xGo3MnTuXgwcP8vbbb7No\n0SJrX46IiEiLYJNHBsXFxaxYsYIJEyaQnp5OYmIiCQkJZGZmcu7cOVJSUsjIyKCyspL9+/cTGRnJ\n+vXrAcjMzGT48OG1rj9w4EBWr15N//79WbZsmS0uQUREpEWxSUFw7fa9h4cH/v7+GAwG2rZtS3l5\nOa6ursTGxvLSSy9x8uRJKioqCAkJIS8vj7Nnz7J792769+9f6/q9evUCrs5BOHLkiC0uQUREpEWx\nyTsEBoOh2u3l5eVs376djIwMSkpKiIiIwGw2YzAYGDJkCDNnzqRPnz64urrWuv7+/fvx9fVlz549\ndOvWzRaXICIi0qI06kuFLi4uuLm5MWLECADat29PUVERABEREfTr14/333+/znW2b99Oamoqbdq0\nYc6cOfzwww82jVtERKS5s8ssg+oUFhYyZcoUUlNTG+V8mmUgIs2VIzcmUoto23GIWQbbtm1jyZIl\nxMfHA3D8+HHi4uKq7Ne7d2+ee+45q55bswxsS/+4G4fybHvKsTR3TaIgGDhwIAMHDrT83qlTpzrn\nHYiIiIj1NImCwJ40y6AROEj/d4enPNteE8uxIz8akKbH4VoXi4iIiPU1SkGQnZ3NO++8c9Pr5OTk\n8Pzzz1f86PEYAAAbdUlEQVTZPmvWLI4fP86SJUtIT0+vcT8RERGpXqM8MnjooYdsuv706dNtur6I\niEhz1yh3CLKysnj++eeJioqybIuKiqKgoIAlS5YQFxfH+PHjGTRoELt27ap1rfz8fMaNG0dERAQZ\nGRmAJhuKiIjcrCbxUqHRaGTlypXs3r2b5ORkHnzwwRr3LS8vZ+nSpZhMJh5//HEeeeSRRoxURESk\nebJbQfDLfkjXZh906NCBsrKyWo8LCgrCaDQC4O/vT0FBge2CFBERaSEarSDw8PDgzJkzVFZWUlxc\nfN0f8ppmH1Tnu+++o6KigrKyMvLy8rjjjjtsEa6IiEiL0mgFgaenJ3369GH48OH4+fnRuXPnG1qn\nVatWTJgwgQsXLjBp0iTatWtn5UhFRERankaZZbBu3TpOnDjB5MmTbX2qetMsAxFxdM2xMZFaRNuO\n3WcZ7Ny5k9WrV1vmFNRHYmIiOTk5VbbPnj0bPz8/K0anWQa2pn/cjUN5tj3lWJo7mxcEffv2pW/f\nvg06ZuLEiUycONFGEYmIiMivNYmvHdqTZhk0gibW/73ZUp5tr4nluDk+MhD70SwDERERafyCoLa5\nBtdmEdRk6tSpZGdnX7ft1KlTlvcTHn74YUpLS6vdT0RERGrW6I8MrD3XoH379g16YVFERESqavQ7\nBLXNNaiPtWvX8tRTTzF69Gjy8/MpKCi4bi0RERFpOId7hyA4OJjU1FQmTJjAvHnz7B2OiIhIs9Ak\nCoKG9Ebq1asXAD169ODIkSO2CklERKRFsUtB8Mu5BhcuXGjQgKJvvvkGgD179tCtWzdbhSgiItKi\n2KUPwc3MNfj6668ZM2YMBoOB2bNnN+jugoiIiFSvUWYZ/FJTmWugWQYi4uiaY2MitYi2HbvPMvil\n+sw1KCsrY9y4cVW2d+nShYSEBKvHpFkGtqV/3I1DebY95Viau0YtCOoz18BoNJKWltZIEYmIiAho\nloFmGTSGJtb/vdlSnm2vieS4OT4qEPtrEl87FBEREftyqILg2qyCX7o2G+GXHQur209ERERq5vCP\nDK7NRmhILwMRERG5nk0KgkuXLjF9+nQuXrxIUVER0dHRbNmyhfj4ePz9/UlPT+f06dNMmjSJN954\ng+3bt+Pt7U1JSQmTJ08mJCSkxrVnzJjBsWPHuPXWW5kzZw6bN2/m8OHDjBgxwhaXIiIi0iLYpCDI\nz89n8ODBDBw4kMLCQmJiYvD19a2y3w8//MCuXbvIzMykvLyc8PDwOtceOXIkQUFBzJ07l3Xr1uHu\n7m6LSxAREWlRbFIQ+Pj4kJqayrZt23B3d6eiouK6z6/1QsrLy+O+++7D2dkZZ2dnAgMDa13X1dWV\noKAg4OqQo927d3PffffZ4hJERERaFJu8VJicnExQUBDz588nNDQUs9mM0Wjk1KlTAHz33dWv7gQE\nBLB//35MJhNlZWWW7TUpLy/n+++/BzTLQERExJpscoegf//+zJw5k82bN+Ph4YGzszMjR47k1Vdf\npVOnTvzmN78B4K677qJv375ERUXh5eWFq6srLi41h+Tq6kpaWhr5+fl06tSJF154gQ0bNtjiEkRE\nRFoUmxQE999/Pxs3bqyyfcCAAdf9fubMGTw9PcnMzKSsrIzBgwfTsWPHGtf98MMPq2yLiIiw/Lxu\n3ToAPv744xsNXUREpEWy69cOvby8OHDgAMOGDcNgMBAZGcnp06eJi4ursm9YWBjR0dFWj0GzDGxL\n/d8bh/Jse8qxNHd2LQicnJx47bXXqmzXLAMREZHG5fCNiW6WZhk0gibS/73ZU55trwnkWHMMxFYc\nqnWxiIiI2IZDFQRTp04lOzv7um2nTp0iPj4e+P8ZBtXtJyIiIjVzqIKgOu3bt7cUBCIiInJjbPYO\nwZEjR5g2bRouLi6YTCYWLFjA2rVr2bNnDyaTibFjxxIWFkZMTAxdunThyJEjmM1mFi1aRPv27Wtc\nd+3ataxatYrKykpmzZqFs7MzsbGxlq8cioiISMPZ7A7BZ599Rvfu3XnrrbeYNGkS27dvp6CggPT0\ndFavXk1SUhIXLlwArrYhTktLIywsjGXLltW6bnBwMKmpqUyYMIF58+bZKnwREZEWxWYFwfDhw/H0\n9GT8+PGsWbOG8+fP8+233xITE8P48eOpqKjg2LFjwNVGRnD1j/2RI0dqXbdXr14A9OjRo859RURE\npH5sVhDs2LGDnj17kpqaSmhoKFlZWYSEhJCWlkZqaiphYWH4+fkBcODAAQD27t1LQEBAret+8803\ngGYZiIiIWJPN3iEIDAwkLi6OpUuXYjKZWLx4MRs2bCA6OprLly8zYMAAy+ji9evXk5KSgpubG3Pn\nzq113a+//poxY8ZgMBiYPXu2ZXKiiIiI3DiD2c5/UWNiYoiPj8ff379Rz1taWsqBAwd4/P2Dakwk\nIg6juTcmUoto27n2dy8wMLDalv1NrlNhWVkZ48aNq7K9S5cuJCQkWP18mmVgW/rH3TiUZ9tTjqW5\ns3tB8Ou5BUajUbMMREREGpndCwJ70yyDRmCH/u/N/baqiIi1OXynQhEREbl5KghEREREBYGIiIjY\n4B2CS5cuMX36dC5evEhRURHR0dFs2bKlyryCw4cPM3/+fFxdXYmKiuKJJ56oslZOTg5JSUk4OTlx\n6tQpnnzySUaNGsUXX3xBYmIiZrOZ4uJiFixYwBdffMGPP/5IXFwclZWVPPHEE2RmZuobBCIiIvVg\n9YIgPz+fwYMHM3DgQAoLC4mJicHX15fg4GASEhJYs2YNy5Yt4/e//z2lpaVkZGTUul5hYSHvvfce\nJpOJ8PBwQkNDOXjwIPPmzcPX15ekpCS2bt1KTEwMERERvPjii+zatYuQkBAVAyIiIvVk9YLAx8eH\n1NRUtm3bhru7OxUVFcD18wo+/vhj4Gpvgbr06NEDo9EIQLdu3Th69Ci+vr7MmjWL1q1bU1hYSHBw\nMO7u7vTu3ZtPP/2UrKwsnn32WWtfmoiISLNl9YIgOTmZoKAgoqOj+fzzz9m5cydwdV5Bhw4drptX\n4ORU9ysM33//PZWVlZSVlXHo0CE6d+7Ms88+y0cffYS7uztxcXGW9sVRUVGsWLGCn3/+mbvvvtva\nlyYiItJsWb0g6N+/PzNnzmTz5s14eHjg7OxMWVlZlXkFubm59VqvoqKCCRMmcO7cOf785z/j7e3N\nkCFDGDVqFG5ubvj4+FBUVATAb3/7W/Lz8xk1apS1L0tERKRZs3pBcP/997Nx48brtsXExBAbG3vd\nvIKQkBBCQkLqXM/f359FixZdt23atGnV7msymWjdujWPPfbYDUQuIiLScjWJToWJiYnk5ORU2V7d\nNw9q8tNPPzFx4kQiIiIsUxTrQ7MMbEv930VEHEOjFAR1zSaYOHEiEydOrPazYcOG1escfn5+vP/+\n+w2OTURERJrIHQJ70iyDhtGMABGR5kmdCkVEREQFgYiIiKggEBEREazwDkFWVhaffPIJV65c4dSp\nU4wZM4YdO3Zw8OBBpkyZwsmTJ9m2bRslJSV4eXmRmJjItGnTCA8Pp1+/fuTl5TFnzhyWL19e7fox\nMTFV5iB4e3szY8YMTp48SVFREQ8//DCTJ0/m0UcfJSMjg3bt2rF27VqKi4uZMGHCzV6iiIhIs2eV\nOwTFxcWsWLGCCRMmkJ6eTmJiIgkJCWRmZnLu3DlSUlLIyMigsrKS/fv3ExkZyfr16wHIzMxk+PDh\nta4fHBxMWloaYWFhLFu2jBMnThAUFMSqVavIzMzk7bffxsnJifDwcDZt2gTABx98wNChQ61xeSIi\nIs2eVb5lcM899wDg4eGBv78/BoOBtm3bUl5ejqurK7GxsbRu3ZqTJ09SUVFBSEgIM2fO5OzZs+ze\nvZvY2Nha1//1HIR27dqxf/9+Pv/8c9zd3SkrKwOufkUxNjaW3r174+Pjg4+PjzUuT0REpNmzSkFg\nMBiq3V5eXs727dvJyMigpKSEiIgIzGYzBoOBIUOGMHPmTPr06YOrq2ut6/96DkJWVhYeHh4kJCSQ\nn5/PunXrMJvN3HbbbXh4eJCUlFTnXQcRERH5fzbtQ+Di4oKbmxsjRowAoH379pa5AxEREfTr169e\nzYR+PQfh9OnTvPDCC+zbtw+j0Ujnzp0pKirC19eXqKgoZs6cybx582x5aSIiIs3KTRcEERERlp8f\neughHnroIeDqY4Tk5OQaj6usrKRnz57XzTeoya/nIHh5efHBBx/UuO6wYcNwdnau7yWIiIi0eHbp\nVLht2zaWLFlCfHw8AMePHycuLq7Kfr17927QugsXLiQnJ4ekpKR6H6NZBiIiInYqCAYOHMjAgQMt\nv3fq1KnOeQf1UdfLiSIiIlI9zTLQLAPbW/vdDR2muQkiIo1HnQpFRETENgVBdnY277zzji2WFhER\nERuwySODa980EBEREcdgk4IgKyuLXbt2cezYMdatWwdAVFQUCxcuZP369RQUFHDmzBmOHz/OtGnT\nePDBB6td59o3BpycnDh16hRPPvkko0aN4osvviAxMRGz2UxxcTELFizgiy++4McffyQuLo7Kykqe\neOIJMjMz9Q0CERGRerDLOwRGo5GVK1cyffp0UlJSat23sLCQpUuXsm7dOlJSUjhz5gwHDx5k3rx5\npKWlMXDgQLZu3crgwYPZsWMHlZWV7Nq1i5CQEBUDIiIi9dRo3zIwm82Wn6/NPujQoYNlDkFNevTo\ngdFoBKBbt24cPXoUX19fZs2aRevWrSksLCQ4OBh3d3d69+7Np59+SlZWFs8++6ztLkZERKSZsVlB\n4OHhwZkzZ6isrKS4uJiCggLLZzXNPqjO999/T2VlJWVlZRw6dIjOnTvz7LPP8tFHH+Hu7k5cXJyl\n2IiKimLFihX8/PPP3H333Va/JhERkebKZgWBp6cnffr0Yfjw4fj5+dG5c+cbWqeiooIJEyZw7tw5\n/vznP+Pt7c2QIUMYNWoUbm5u+Pj4WOYj/Pa3vyU/P59Ro0ZZ81JERESaPZsUBBUVFbi6upKQkFDl\ns0mTJll+9vf3r7NDob+/P4sWLbpu27Rp06rd12Qy0bp1ax577LF6x6rWxbb15Zdf0rNnT3uHISIi\ndbB6QbBz505Wr15tmVNQH4mJieTk5FTZ/sQTT9R7jZ9++omJEycSERGBu7t7vY8TERERGxQEffv2\npW/fvg06ZuLEiUycOLHaz4YNG1avNfz8/Oo1SllERESq0iwDzTKwvRucZVBfmnkgInLzbN6HoLY2\nxkuWLCE9Pd3WIYiIiEgdbH6HQG2MRUREmj6b3yHIysri+eefJyoqyrItKirqur4ENZk6dSpxcXGM\nGTOG4cOHk5eXB8CCBQt4+umnGTp0qOUbByNGjODgwYPA1RcbG/JSo4iISEvX5Mcf+/n5sXr1aiZN\nmsS8efO4dOkSnp6evPXWW7z77rvs27ePwsJCIiMjWb9+PQDvvvsukZGRdo5cRETEcdilIPhlG+O6\n3H///cDVFsZHjhyhVatWnD17ltjYWGbMmMHly5cpLy8nLCyMjz/+mDNnzlBYWMi9995rq/BFRESa\nnUYpCH7ZxvjChQv1elxwzbfffgvA3r176datG9nZ2Zw4cYKFCxcSGxvLlStXMJvNtG7dmpCQEGbN\nmsWQIUNsdSkiIiLNUqN87fBm2hhnZ2ezY8cOTCYTr732Grfccgtvvvkmo0aNwmAw4OfnR1FREX5+\nfkRFRREdHa33B0RERBrI5gVBfdsY1+Spp56q8k2Fd999t9p9KysrefTRR/H09LyxYEVERFoomxYE\n9WljXFZWxrhx46ps79KlS4PO9c9//pPMzEz+8Y9/NOg4zTKwLc0yEBFxDDYtCOrTxthoNNY54Kg+\nRo8ezejRo296HRERkZaoyX/tUERERGxPsww0y8D2bDzL4Nc020BEpOF0h0BERERUEIiIiIgVHxlc\nunSJ6dOnc/HiRYqKioiOjmbLli3Ex8fj7+9Peno6p0+fZtKkSbzxxhts374db29vSkpKmDx5MiEh\nIdWuO2jQIHr16sXBgwdp27YtCxcuxGQyVTlXeHg4Q4cO5cMPP8TZ2Zl58+Zx7733MmjQIGtdooiI\nSLNltTsE+fn5DB48mOTkZFatWkVKSkq1+/3www/s2rWLzMxM3njjDU6dOlXruleuXCE8PJz09HS6\ndu3KO++8U+25PDw86NmzJ59++imVlZVkZ2czYMAAa12eiIhIs2a1OwQ+Pj6kpqaybds23N3dqaio\nuO7za/ML8vLyuO+++3B2dsbZ2ZnAwMDaA3RxoXfv3gAEBweTnZ3NoEGDqj1XZGQkaWlpmEwmfve7\n32E0Gq11eSIiIs2a1e4QJCcnExQUxPz58wkNDcVsNmM0Gi13AL777uqb5gEBAezfvx+TyURZWZll\ne00qKir44YcfgKtNbgICAqo9F0CvXr346aefyMzMZPjw4da6NBERkWbPancI+vfvz8yZM9m8eTMe\nHh44OzszcuRIXn31VTp16sRvfvMbAO666y769u1LVFQUXl5euLq64uJSexgrVqzg+PHjdOrUieef\nf569e/dWOVdZWRlGo5Hw8HC2bt1Kt27drHVpIiIizZ7VCoL777+fjRs3Vtn+6+f4Z86cwdPTk8zM\nTMrKyhg8eDAdO3asde3Zs2df1164pnPB1XkGkZGRN3AFIiIiLVejNyby8vLiwIEDDBs2DIPBQGRk\nJKdPnyYuLq7KvmFhYQ1ae+rUqRQVFZGUlFTvYzTLwLY0y0BExDE0ekHg5OTEa6+9VmV7TfMMoqOj\n673266+/fsNxiYiItGRqTCQiIiKaZaBZBo3ARrMMNLNARMR6dIdAREREVBCIiIiIFR8ZHDlyhGnT\npuHi4oLJZGLBggWsXbuWPXv2YDKZGDt2LGFhYcTExNClSxeOHDmC2Wxm0aJFtG/fvto1p06ditls\n5sSJE1y+fJk5c+bg7+/PggULOHDgAOfOnePuu+/mtddeY8SIEfz973+nW7du7Ny5k08++YT4+Hhr\nXZ6IiEizZrU7BJ999hndu3fnrbfeYtKkSWzfvp2CggLS09NZvXo1SUlJXLhwAbjagjgtLY2wsDCW\nLVtW67p+fn6sXr2aSZMmMW/ePC5duoSnpydvvfUW7777Lvv27aOwsJDIyEjWr18PwLvvvqteBCIi\nIg1gtYJg+PDheHp6Mn78eNasWcP58+f59ttviYmJYfz48VRUVHDs2DHgamMhuFoYHDlypNZ1r+3b\no0cPjhw5QqtWrTh79iyxsbHMmDGDy5cvU15eTlhYGB9//DFnzpyhsLCQe++911qXJiIi0uxZrSDY\nsWMHPXv2JDU1ldDQULKysggJCSEtLY3U1FTCwsLw8/MD4MCBAwDs3buXgICAWtf99ttvLft269aN\n7OxsTpw4wcKFC4mNjeXKlSuYzWZat25NSEgIs2bNYsiQIda6LBERkRbBau8QBAYGEhcXx9KlSzGZ\nTCxevJgNGzYQHR3N5cuXGTBgAO7u7gCsX7+elJQU3NzcmDt3bq3rZmdns2PHDkwmE6+99hq33HIL\nb775JqNGjcJgMODn50dRURF+fn5ERUURHR2tdwdEREQayGoFwR133EF6evp122oabRwbG4u/v3+9\n1n3qqad46KGHrtv27rvvVrtvZWUljz76KJ6envVaW0RERK6ye2OisrIyxo0bV2V7ly5dGrTOP//5\nTzIzM/nHP/7RoOM0y8C2NMtARMQxNHpB8OuZBUajscY5Bg0xevRoRo8efdPriIiItERqTCQiIiIq\nCEREREQFgYiIiKCCQERERFBBICIiIqggEBEREVQQiIiICCoIREREBBUEIiIiggoCERERQQWBiIiI\n0ASGG9mL2WwGrg5XEtsqLS21dwgtgvJse8px41CebePa37trf/9+zWCu6ZNm7uLFi+Tm5to7DBER\nkUZ155134uHhUWV7iy0ITCYTxcXFuLq6YjAY7B2OiIiITZnNZsrLy2nTpg1OTlXfGGixBYGIiIj8\nP71UKCIiIioIRERERAWBiIiIoIJAREREaAEFgclkYsaMGTz55JPExMSQn59/3efr1q0jIiKCqKgo\nPvnkEztF6fjqynNKSgqRkZFERkaSmJhopygdW105vrbP+PHjSU9Pt0OEzUNded65cydRUVFERkYS\nHx9f43e6pWZ15Tg5OZmIiAiGDRvGRx99ZKcoWyBzM/fhhx+a4+LizGaz2fzVV1+Z//SnP1k+Kyoq\nMj/22GPm0tJS84ULFyw/S8PVluejR4+ahw4daq6oqDCbTCbzk08+af7+++/tFarDqi3H1yxYsMAc\nGRlpXrt2bWOH12zUlueLFy+aBw8ebD5z5ozZbDably9fbvlZ6q+2HJ8/f97ct29fc2lpqfncuXPm\nfv362SvMFqfZ3yH48ssvefDBBwEICgriwIEDls+++eYbevTogdFoxMPDgzvuuIMffvjBXqE6tNry\n3KFDB1auXImzszMGg4GKigpatWplr1AdVm05Bti6dSsGg8Gyj9yY2vL81VdfceeddzJnzhyio6Px\n8fHB29vbXqE6rNpy7ObmRqdOnSgpKaGkpER9YhpRs29dfOnSJdzd3S2/Ozs7U1FRgYuLC5cuXbqu\nW1ObNm24dOmSPcJ0eLXl2dXVFW9vb8xmM3PnzuU//uM/6NKlix2jdUy15Tg3N5eNGzeyePFi3njj\nDTtG6fhqy/PPP/9MTk4O7733Hq1bt2bUqFEEBQXpv+cGqi3HAB07dmTw4MFUVlbyxz/+0V5htjjN\nviBwd3enuLjY8rvJZLL8R/frz4qLi6tt5yh1qy3PcLU3+UsvvUSbNm145ZVX7BGiw6stx++99x6F\nhYU89dRTHDt2DFdXV2677TYeeughe4XrsGrLc7t27bjvvvto3749AL169eL7779XQdBAteU4Ozub\noqIiduzYAcC4ceMIDg6me/fudom1JWn2jwyCg4PJzs4GYN++fdx5552Wz7p3786XX35JaWkpFy9e\nJC8v77rPpf5qy7PZbObZZ5/lrrvuIiEhAWdnZ3uF6dBqy/GUKVPIyMggLS2NoUOHMnbsWBUDN6i2\nPN97773k5uZy9uxZKioq+PrrrwkICLBXqA6rthy3bduWW265BaPRSKtWrfDw8ODChQv2CrVFafat\ni00mE/Hx8eTm5mI2m5k9ezbZ2dnccccdPPLII6xbt4533nkHs9nMH//4Rx599FF7h+yQasuzyWQi\nNjaWoKAgy/6xsbH06NHDjhE7nrr+W75myZIl+Pj4MHLkSDtG67jqyvOmTZtYtWoVAKGhofzhD3+w\nc8SOp64cL168mF27duHk5ERwcDBTpkzRuwSNoNkXBCIiIlK3Zv/IQEREROqmgkBERERUEIiIiIgK\nAhEREUEFgYiIiKCCQERERFBBICIiIqggEBEREeD/ABRi4NN+8RADAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b09ce48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# get features from column names...\n",
    "rank1d(X, y);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nyBk5cqSzbt060/GsEG3GZ8+edW677TbnxIkTjuM4zsqVK2u/hjvR5vzZZ585N910k1NeXu6cPn3a\nufnmm2MVs8Hx9eRbVFSkPn36SJJ69Oih4uLi2tfeeustXXfddUpMTFTz5s3Vvn17vfPOO35evkGI\nNuNvf/vbeuKJJxQfH69QKKTKyko1btw4VlHrtWhzlqRt27YpFArV/g7cizbjN998U6mpqVqwYIEy\nMjLUqlUrtWzZMlZR67Voc27atKkuv/xynTt3TufOnaOLwSBf6yVLS0uVnJxc+318fLwqKyvVqFEj\nlZaWfqnlIykpSaWlpX5evkGINuOEhAS1bNlSjuPoN7/5jbp27aqOHTvGMG39FW3Ohw4d0l/+8hct\nXbpUjz/+eAxT1m/RZnzq1Cnt2bNHmzdvVrNmzTRmzBj16NGDv88eRJuzJLVp00a33XabqqqqdPfd\nd8cqZoPj6/JNTk5WWVlZ7ffV1dW1f8D/+1pZWdnXVm4humgzlr7oas3KylJSUpLmzJkTi4hWiDbn\nzZs369ixY7rzzjtVUlKihIQEXXHFFerbt2+s4tZL0WackpKi733ve7rsssskSb169dLBgwdZvh5E\nm3NhYaE++eQT7dixQ5I0YcIEpaWl6ZprrolJ1obE19vOaWlpKiwslCTt3btXqampta9dc801Kioq\nUnl5uc6ePasjR4586XWcn2gzdhxHv/zlL/Xd735XDz74oOLj42MVs96LNucZM2boT3/6k1avXq1h\nw4Zp3LhxLF4Pos24W7duOnTokE6ePKnKykrt27dPnTt3jlXUei3anC+55BI1adJEiYmJaty4sZo3\nb64zZ87EKmqD4mu9ZHV1tebOnatDhw7JcRzNmzdPhYWFat++vW655RZt2rRJGzdulOM4uvvuuzVg\nwAC/Lt1gRJtxdXW1pk+frh49etT+/vTp03XdddfFMHH9VNff5Rr5+flq1aqV0tPTY5i2fqprxs89\n95x+//vfS5IGDhyou+66K8aJ66e65rx06VK99NJLiouLU1pammbMmMF7vwbQ7QwAgGGUbAAAYBjL\nFwAAw1i+AAAYxvIFAMAwli8AAIaxfAEAMIzlCwCAYSxfAAAM+z9x/7evc8ARbAAAAABJRU5ErkJg\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b0e0358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Raw numpy version\n",
    "rank1d(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nyBk5cqSzbt060/GsEG3GZ8+edW677TbnxIkTjuM4zsqVK2u/hjvR5vzZZ585N910k1NeXu6cPn3a\nufnmm2MVs8Hx9eRbVFSkPn36SJJ69Oih4uLi2tfeeustXXfddUpMTFTz5s3Vvn17vfPOO35evkGI\nNuNvf/vbeuKJJxQfH69QKKTKyko1btw4VlHrtWhzlqRt27YpFArV/g7cizbjN998U6mpqVqwYIEy\nMjLUqlUrtWzZMlZR67Voc27atKkuv/xynTt3TufOnaOLwSBf6yVLS0uVnJxc+318fLwqKyvVqFEj\nlZaWfqnlIykpSaWlpX5evkGINuOEhAS1bNlSjuPoN7/5jbp27aqOHTvGMG39FW3Ohw4d0l/+8hct\nXbpUjz/+eAxT1m/RZnzq1Cnt2bNHmzdvVrNmzTRmzBj16NGDv88eRJuzJLVp00a33XabqqqqdPfd\nd8cqZoPj6/JNTk5WWVlZ7ffV1dW1f8D/+1pZWdnXVm4humgzlr7oas3KylJSUpLmzJkTi4hWiDbn\nzZs369ixY7rzzjtVUlKihIQEXXHFFerbt2+s4tZL0WackpKi733ve7rsssskSb169dLBgwdZvh5E\nm3NhYaE++eQT7dixQ5I0YcIEpaWl6ZprrolJ1obE19vOaWlpKiwslCTt3btXqampta9dc801Kioq\nUnl5uc6ePasjR4586XWcn2gzdhxHv/zlL/Xd735XDz74oOLj42MVs96LNucZM2boT3/6k1avXq1h\nw4Zp3LhxLF4Pos24W7duOnTokE6ePKnKykrt27dPnTt3jlXUei3anC+55BI1adJEiYmJaty4sZo3\nb64zZ87EKmqD4mu9ZHV1tebOnatDhw7JcRzNmzdPhYWFat++vW655RZt2rRJGzdulOM4uvvuuzVg\nwAC/Lt1gRJtxdXW1pk+frh49etT+/vTp03XdddfFMHH9VNff5Rr5+flq1aqV0tPTY5i2fqprxs89\n95x+//vfS5IGDhyou+66K8aJ66e65rx06VK99NJLiouLU1pammbMmMF7vwbQ7QwAgGGUbAAAYBjL\nFwAAw1i+AAAYxvIFAMAwli8AAIaxfAEAMIzlCwCAYSxfAAAM+z9x/7evc8ARbAAAAABJRU5ErkJg\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ae52da0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# numpy version, no feature names\n",
    "rank1d(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdMAAAFJCAYAAADAA8eIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADL1JREFUeJzt3F1o1vX7wPFr6rZqjkIMegAhigW1ZM5Oe4AOCgxCY0qF\nFBQZHXpg0A9KgoICT6xOoiIIjOwgg4IiIlpHHQwrRsaig4L4k9CT25Bb5/39HfzZ/v/K7rVd+z7c\nt6/XkTonH66EN9dmV19RFEUAAKu2ru4HAEC3E1MASBJTAEgSUwBIElMASNqwmk9qt9sxPz8f/f39\n0dfXt9ZvAoBGKYoizp49G0NDQ7Fu3d/30FXFdH5+PmZmZtKPA4BuMjIyEsPDw3/79VXFtL+/f+kP\nHRgYyL2Mjqanp2N0dLTuZ/Q0M66GOZfPjMtz5syZmJmZWerfX60qpotf2h0YGIjBwcHVv45/xYzL\nZ8bVMOfymXG5/ulbm/4BEgAkiSkAJIkpACSJKQAkiSkAJIkpACSJKQAkiSkAJIkpACSJKQAk9RVF\nUaz0k1qtVkxPT8c9730X/zN/tox3AXCBOXdob91P+EeL3RsdHT3vyUabKQAkiSkAJIkpACSJKQAk\niSkAJIkpACSJKQAkiSkAJIkpACRtyHzy9//Zed5LEKydqamp2L59e93P6GlmXA1zLp8Z18dmCgBJ\nqc302mffdZu3Cke+qfsFvc+Mq7HMnJt8mxU6sZkCQJKYAkCSmAJAkpgCQJKYAkCSmAJAkpgCQJKY\nAkCSmAJAktu8DefWZvnMuBrmTC+zmQJAktu83cDd2PKZcTXMuXTnbP+1sJkCQJKYAkCSmAJAkpgC\nQJKYAkCSmAJAkpgCQJKYAkCSmAJAktu8DeeeafnMuBrmXL6pqam6n3DBspkCQJLbvN3APdPymXE1\nGjTnc4f21v0EeojNFACSxBQAksQUAJLEFACSxBQAksQUAJLEFACSxBQAksQUAJLc5m0490zLZ8bV\nMGd6mc0UAJL6iqIoVvpJrVYrpqen4573vnObF4DGWevby4vdGx0dPe9XZG2mAJAkpgCQJKYAkCSm\nAJAkpgCQJKYAkCSmAJAkpgCQJKYAkOQ2b8O5Z1o+M66GOZfPjOtjMwWAJLd5ASjFWt/HrZPbvABQ\nMjEFgCQxBYAkMQWAJDEFgCQxBYAkMQWAJDEFgCQxBYAkt3kbzq3N8plxNcy5fGZcH5spACS5zQvA\n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\nacb9/f2xadOmKIoiXnjhhbjhhhvimmuuqfG13avTnGdmZuL999+Pw4cPx8svv1zjK7tbpxn/9ttv\n8cUXX8SxY8fikksuiQceeCDGxsb8fV6FTnOOiLjyyitjx44dce7cudi3b19dz7ygLBvTjRs3xvz8\n/NLP2+320n+wv35sfn7+vGeW6KzTjCP+99bmk08+GUNDQ/H000/X8cSe0GnOx44di59//jkefPDB\n+Omnn6K/vz+uvvrquPXWW+t6blfqNOPLLrssbrrpprj88ssjIuLmm2+OEydOiOkqdJrz5ORknDx5\nMj755JOIiHj44YdjfHw8tm7dWstbLxTLfpl3fHw8JicnIyLiyy+/jJGRkaWPbd26NaampqLVasXs\n7Gx8//33f/o4/06nGRdFEY8//nhcf/318cwzz8T69evrembX6zTnAwcOxDvvvBNvvvlm7Ny5Mx56\n6CEhXYVOM77xxhtjZmYmfv3111hYWIivvvoqrrvuurqe2tU6zfnSSy+Niy66KAYGBmJwcDCGh4fj\n1KlTdT31grHsOcF2ux0HDx6MmZmZKIoinnvuuZicnIwtW7bEHXfcEUePHo233347iqKIffv2xZ13\n3lnV23tGpxm32+3Yv39/jI2NLf3+/fv3x7Zt22p8cXda7u/yohdffDE2b94c9913X42v7U7LzfiD\nDz6I1157LSIi7rrrrnj00UdrfnF3Wm7Ohw8fjs8//zzWrVsX4+PjceDAAd87LZnbvACQ5GgDACSJ\nKQAkiSkAJIkpACSJKQAkiSkAJIkpACSJKQAk/Rf7v1ErYeO/XQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ae5aa90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# disable tick labels\n",
    "rank1d(X.values, y.values, show_feature_names=False);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### quick methods, vertical"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\neDz68ccfde655+qvf/2r38/3vknl5OQoJiZGPXv21I4dO+RyubRixQrL7Vm1apXeeecd/fjjjxo2\nbJgOHDhQqcPiD6eC709/+pOysrJ0xRVXaOTIkYqPj7dcwysvL09Lly7Vhx9+qHPOOUd33nmn+vXr\nZ7nO//3f/2n58uXKzs7WiBEjdNttt6lJkyaWatx///06dOiQ742ncePGltsRaKfAqeBLSkqq8vNh\nYWF66aWX/KrxySefVPvYxRdf7HdbnArPa6+9VmFhYaccIxgWFqZ3333X7zpOdQq8nAg+ybkOpcfj\nUVZWlv7yl79o//79OuOMMzR48GDdeuutluoUFBTo8ccf13vvvacbbrhBkydPtjxy4dR7hZMdA6eE\nVAh7LV++XJMmTQqoxg8//KAHHnhABQUF6t27t6ZPnx7wjSkOHTqkZ5991tYf6Pjx4/X888/7Pv79\n73+vF154wXKdW265RRkZGRo3bpzS09M1YsQIbdiwwXIdyZngc7vdvj+MI0eOaNSoURoyZIgiI/07\n8zUjI0OvvfaaYmNjNXLkSPXr108ul0ujRo3S66+/7nc7jh07pjfffFOvvfaaGjVqpFGjRqmsrEwr\nV67Uyy+/bOl7kqQff/xRb7zxhjIzM9WsWTONGjVKl1xyieU6djsFTgWfE9auXVvtY6NHj/a7jjc8\nK/J4PJbD0ylOdQoqcir4pMA6lAsWLNC7776riy++WImJierevbvcbreGDx/u98VIXl6eNm7cqPff\nf18XX3yxRo0aJZfLpblz52rjxo2Wv59A3ysqcqJj4JTAru2DzPvvv69rrrlGTZs2PeUP38ofuyTt\n3r1bR44cUUJCgr744gt99913Af+Qzj77bO3Zs8fWcwsKCnTs2DE1btxYhYWFOnr0qK063jct75uZ\nnTeLk4MvNTXVF3xWQtjj8Wjbtm169dVXfVeOhYWFmjRpUqUOR03y8/O1cOFCnXvuub7PRUZGKiUl\nxdL3NHLkSA0dOlRPPfWU2rZt6/v8F198YamO1/fff69vvvlGhYWFio+P19tvv63169frT3/6k1/P\nP7lT8NBDD6msrEwTJ070q1NQ0zCylRCuaVi1puHYio4cOeL316vJe++950id0aNHV3tlaKXD1b9/\nf0c7BRWDb8KECZWCz0oIB/q7I0nt27fXxo0bK12FN2jQQM8++6zf7fjjH/+oUaNGacqUKZXWWowY\n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\n3aWEhARlZ2drxowZtt5DJSkiIkIff/yx9u7dq86dOyshIcFWnZM7BnbWazgtJEP4008/1f/8z//4\nPrazeT7GSTePAAAPrUlEQVQsLEwXXXSRli9frkGDBtleQff0008rIyND99xzj/7whz/olltusbSq\n+X//93914YUXVrm60U4Ir169Wunp6Vq2bJn69+9vaejMqeCraaWmv9+T90378OHDevLJJ1VQUKD+\n/fura9eulnrbU6ZM8f3/hx9+qIMHD+o3v/mNpW08XtUd/2llRbJTnQKngq+2N81nn3220mtYldoO\nB5k5c6blBWNV8Xcfcm37e19++WW/VoM71SnwciL4JOm+++7TgAEDNHLkSGVnZ2v69Ol67rnnLNVo\n3ry5bytlw4YNbV2Vx8TE+Eb9fvvb39peAyCVdyo7duyoPn366O9//7tmzpzp98E3FTnZMXBKSIaw\nnUM1TuZyufTkk0+qd+/e+uijj2wvjPEuqJJka0HVnXfeKUlq0qSJZsyYYasNFZ28wMHKynGngq/i\nm9fevXt14MABde3a1fJeRql8eP/222/X0qVL1bt3b82YMcNWh+mpp57Sd999p7y8PEVFRWnFihWW\nOx0V/5h/+uknHTp0SOeee66ln7lTnYLTFXw1HY/pr2CbEdu8eXNAW7K8rB5O4kTweVWcv3/rrbcs\nP9/j8WjYsGHq2bOndu3aJZfLpeTkZEn+7w9v06aNli5dqksvvVSff/65oqKifKNgVi8gjh49qmnT\npkkqn7+3uxXRyY6BU0IqhL2b56v6A7K6MGv+/Pnavn27EhMTlZmZqSeeeMJWm5xaUPXVV1/5FngF\nwokFDk4FX8WbSdx0003av3+/5ZtJ/PLLL7rsssu0bNkydezY0faWg+zsbGVkZCgpKUk33XST7S1g\nUvnpW4HsMZec6RTUxKngc6KO3btV1RVTnQIngk8q3/+8adMmXXLJJfr888/VtGlTX4fA385cxbP3\nhwwZ4vv/qg5KqU5YWJgOHjyogwcPSirf0uUdBbMawp06dVJ2drZ69eqlL7/8Um3btvXtw7cy/O9k\nx8ApIRXCZWVlpxzVJtn7I2/fvr3v1CM7q0m9HnnkEa1fv169evVSTEyMHn30UVt19uzZo0svvdS3\nxF6yd6TgY489pgMHDmjq1KlKS0vTH//4R8s1nAq+N99803cziXHjxtk6Oi46Olpbt26V2+1WTk6O\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1046d3400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# get features from column names...\n",
    "rank1d(X, y, orient='v');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1046e4208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Raw numpy version\n",
    "rank1d(X.values, y.values, orient='v');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b1fb3c8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# numpy version, no feature names\n",
    "rank1d(X.values, y.values, orient='v');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/pschafer/.virtualenvs/yellowbrick/lib/python3.6/site-packages/scipy/stats/morestats.py:1326: UserWarning: p-value may not be accurate for N > 5000.\n",
      "  warnings.warn(\"p-value may not be accurate for N > 5000.\")\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b06eba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# disable tick labels\n",
    "rank1d(X.values, y.values, show_feature_names=False, orient='v');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Rank2D \n",
    "Fixing order of the tick labels, using the feature names to label."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nQx+GAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10c2b3710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# get features from column names...\n",
    "visualizer = Rank2D()\n",
    "visualizer.fit_transform_show(X, y);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nQx+GAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ad83a20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# raw numpy version\n",
    "visualizer = Rank2D(features=features)\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ae53b70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# numpy version, no feature names\n",
    "visualizer = Rank2D()\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAFMCAYAAADMaNdaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9UVGX+B/D3/AScGUw0y9OGP8gJhUgHc0WD6igrKuVu\nhQqpkZllml9/hKhheYjwx6anMrXUjpluhJi72brVaimYYj8wUijUXEVbTUzLZgaZGWae7x/mbARX\nuFdBnPt+nTPnNPfO5z7PnbHPfOa5z33QCCEEiIhINbRXuwNERNSymPiJiFSGiZ+ISGWY+ImIVIaJ\nn4hIZZj4iYhURn+1O9Baff/990hMTITVavVvE0Jg7NixePDBB69iz5qmof5XV1fjxhtvRG5uLm6+\n+WZFx920aRM++ugjvP7663W2f/zxxyguLkZWVtZl9bsxDocD48ePh91ux5QpUzB48GD/vrNnz+LZ\nZ59FZWUlvF4v7rrrLmRkZECr1WLPnj1YtGgRamtrERwcjKysLMTExNQ7/pgxY/Df//4XFoulzvb3\n3ntPUX/tdjsmTZqEt956S1E8UbMQ1KDjx4+LXr161dn2ww8/iD59+ohvv/32KvWq6Rrqv8/nE9nZ\n2WLatGmKj/vuu++KCRMmXG73FPv888/FoEGDGtw3Y8YMsWTJEiGEEDU1NSItLU0UFBQIl8sl+vXr\nJ8rLy4UQQnzyySfiT3/6U4PHGD16tPjggw+uWH8b+hyIrjZW/DLccMMN6Ny5M44ePYrIyEgUFBQg\nLy8PPp8P1113HebOnYuIiAgcOXIE2dnZqK6uRlVVFSIjI/HSSy8hKCgI0dHRGDhwICoqKvDiiy9i\n+/bt2Lp1KwwGA9q1a4f58+ejY8eO+PLLL7Fo0SKcP38eBoMBU6dORUJCAjZt2oStW7dCq9WisrIS\nBoMBCxcurFPZS3G5XDh9+jTat28PAJfs52233YYJEyZg165dqKqqwtixY5Genl7neB9++CFefPFF\nrFy5EqWlpf5fAmPGjEGvXr2wd+9enDx5ErGxsVi4cCG0Wi02bdqElStXIjg4GP369cNbb72Fb775\npl5ft23bhldffRVerxdmsxmzZ8+G2WzGnDlzcOrUKQwfPhz5+fkIDg72xyQmJsJmswEAgoKC0L17\nd5w4cQJGoxFFRUUwGAwQQuD48eNo166d7M/fbrfjhRdewMGDB+HxeBAXF4eZM2dCr9dj48aNyM/P\nh8fjwblz5/DYY48hLS0Ns2fPRk1NDYYPH45NmzahZ8+eKC4uRlhYGADg1ltvRXFxMQ4dOoQXXngB\nbdq0QXV1NTZu3IhPP/0UK1asgMfjQXBwMDIzM9G7d28cPnwYzzzzDNxuN4QQePDBB/HQQw/JPh9S\nsav9zdNaNVSp7d27V9xxxx3ixIkT4rPPPhNpaWmiurpaCCHEzp07xZAhQ4QQQixYsED84x//EEII\n4Xa7RXJysvjwww+FEEJYrVbx97//XQghxIkTJ4TNZhMul0sIIcQbb7whtm7dKs6ePSvi4uJEaWmp\nEEKIgwcPir59+4pjx46Jd999V8TGxoqTJ08KIYTIzs4WM2fObLD/kZGR4r777hPJyckiLi5OJCUl\niSVLlgiHw9Gkfq5bt04IIcT+/ftFdHS0qKmp8Vf8mzdvFsOGDRMnTpwQQtT9JTB69GgxZcoU4fV6\nhd1uF3feeacoLi4Whw4dEnFxcf6+L126VFit1np9/+6770T//v3FsWPHhBBC7N69WwwYMEDY7Xax\nZ88eMWzYsEY/v/LychEbGyu++eYb/7bTp0+LO++8U0RFRYmtW7c2GDd69Ghxzz33iPvuu8//2LFj\nhxBCiFmzZom33npLCCFEbW2tePrpp8XKlSuFw+EQI0aMEGfPnhVCCPHVV1/5/+38/t+R1WoVZ86c\nqfd8z549IjIyUnz//fdCCCGOHDkikpOT/cc8ePCgGDBggHA6nWL27Nni9ddfF0IIUVVVJaZOnSq8\nXm+j7wnRRaz4L+FipQYAXq8X7dq1w1//+ld06tQJ69atQ2VlJUaNGuV//blz5/Dzzz8jIyMDu3bt\nwqpVq3D06FFUVVWhurra/7o+ffoAuPALIjIyEn/5y1+QkJCAhIQExMXFobCwEOHh4bj99tsBAN27\nd4fNZsPnn38OjUaDqKgo3HjjjQCAnj17YuvWrQ32Pzg42D82vXPnTmRkZGDAgAEwmUwA0Gg/Bw4c\nCACIioqC2+3279u/fz927tyJOXPmoFOnTg22fc8990Cr1cJsNqNz5844d+4cKioqMGDAAH/fR48e\njaVLl9aL3bNnD/r16+e/DhEXF4ewsDCUlZVBo9FIf2C/uniuWVlZ6NGjh397hw4dsHPnTpSXlyM9\nPR0RERHo2rVrvfiZM2ciKSmp3vYdO3Zg//792LhxI4AL/z4AwGQy4bXXXkNhYSGOHj2KioqKOu9j\nU3Xq1Ak33XQTAPh/af32V5ZGo8GxY8eQmJiIzMxM7Nu3D3FxccjKyoJWy3ka1HRM/Jfw28T5ez6f\nD8OHD0dGRob/eVVVFdq2bYtp06bB6/ViyJAhuPvuu3Hy5EmI3yyJ1KZNGwCAVqvF+vXrsX//fhQX\nFyM3Nxd//OMfMWDAgHrtCSFQW1sLg8FQZ3hDo9HUObaU+Ph4PPLII5g+fTo++OADWCwWTJ8+/ZL9\nDAoK8rdxsQ8AYLFYsHjxYkydOhV33303/vCHPzT43v2+jzqdrs7xdTpdg31t6Hx+e/6XsmbNGqxc\nuRJLlixB//79AVwYotmzZw8SExMBXPgii4yMxMGDBxtM/FJ8Ph9efvllREREAAB++eUXaDQa/PDD\nDxg5ciRGjBiB2NhYJCUlYfv27Y0ez+1213l+8d/Fxbbi4uLw0ksv+bedPHkSHTt2RGRkJD766CPs\n3r0bxcXFWLZsGd555x2Eh4c3+VxI3VgmKDRgwABs2bIFVVVVAIC8vDw8/PDDAIBPP/0UkyZNwtCh\nQ6HRaPD111/D6/XWO0ZFRQWSk5MRERGBxx9/HOnp6Thw4ABuv/12HDlyBPv27QMAHDp0CF988QX6\n9u17WX0eN24cQkND8corr8jq5+916dIFcXFxGDNmDDIzM+Hz+ZrU/p133oni4mKcOnUKAFBQUNDg\n6/r164ddu3bh+PHjAIDi4mKcPHnS/wtIypo1a/C3v/0NGzZs8Cd94MIX7Jw5c1BSUgLgwvv5n//8\np9HjNdT/N998E0IIuN1uTJw4EevXr0dZWRnCwsLw5JNPIj4+3p/0vV4v9Ho9vF6v/8ssLCwM+/fv\nBwDJX2q/fQ8OHz4MACgsLMR9990Hl8uFGTNm4F//+heGDRuG5557DmazGSdPnpR1LqRurPgVio+P\nx2OPPYZx48ZBo9HAbDbj1VdfhUajwbRp0zBp0iS0bdsWISEhuOOOO3Ds2LF6x4iMjMSQIUPwwAMP\noE2bNv5phmFhYXj55Zfx/PPPo6amBhqNBvPnz0fXrl3x1VdfKe6zwWDA3LlzMX78eKSkpDS5n1Ke\neOIJfPLJJ1i9ejU6dOjQ6Ou7du2K2bNn49FHH4XRaESPHj0QEhJS73W33HILnnvuOUyePBlerxfB\nwcF47bXX6k2x/C23242XX34ZFosFkydP9m9PSkrCxIkTsWzZMuTm5qK2thZGoxEvvviif8ipqZ55\n5hm88MILuPfee+HxeNC/f3+MHz8etbW12LhxI5KSkhASEoKYmBiEhYWhsrISnTt3Rs+ePTFkyBDk\n5eUhKysL2dnZCA0NRf/+/XH99dc32Fb37t2RnZ2N6dOnQwgBvV6PFStWoE2bNnjyySfxzDPPID8/\nHzqdDoMGDbrsooDURSOaMk5AdAUcP34c7733Hp588klotVr8+9//xqpVqyQrfyJqHqz4qcXceOON\nqKqqwr333gudTgeLxYLc3Nyr3S0i1WHFT0SkMry4S0R0FX399dcYM2ZMve2ffPIJHnjgAYwcORIb\nNmwAcGEK8VNPPYW0tDQ89thjOHv2rKI2JSt+n88Hp9MJg8HQpLnTRERXgxACHo8HJpPpmrufYdWq\nVdi8eTNCQkL8yR0APB4Phg4dio0bNyIkJASpqal4/fXX8f7778PhcOCpp57Cli1b8NVXXylaH0ty\njN/pdOLgwYPKzoaIqIVZrdZLzvxS4glNF8Wxr4mjjb4mPDwcS5cuxcyZM+tsP3z4MMLDw9G2bVsA\nQGxsLL744guUlJRg/PjxAICEhAQsX75cUd8kE//FG2WsViuMRqOigxMRNTe3242DBw82enNfazR4\n8GB8//339bY7HI46X2ImkwkOh6POdpPJBLvdrqhdycR/cXjHaDT67+AkImqtmmNIWneVRrnNZjOc\nTqf/udPphMViqbPd6XQiNDRU0fGvrQExIqIWpNNoFD8uR0REBCorK/Hzzz/D7Xbjyy+/RO/evWGz\n2VBYWAgAKCoqQmxsrKLjcx4/EZGElq7433//fVRXV2PkyJGYNWsWHn30UQgh8MADD+CGG25Aamoq\nMjMzkZqaCoPBgMWLFytqR3JWj8vlQllZGaKjoznUQ0StVnPmqqcN3RTHvuj5zxXsyZXFoR4iIpXh\nUA8RkYSrdXG3uTHxExFJuNyLtK0VEz8RkQRW/EREKsOKn4hIZQJ19gsTPxGRBNVW/O5qO+CpkXXQ\nIHNbxR0iIqLmxYqfiEgCL+4SEamMaod6iIjUihU/EZHKsOInIlKZQK34A3WaKhERSWDFT0QkgUM9\nREQqE6hDPUz8REQSmPiJiFSGQz1ERCrDip+ISGVUW/FX/OwDdL4mH/C2DkbUVDtldyS4jUl2DBER\nyceKn4hIAod6iIhURrVDPUREasWKn4hIZVjxExGpjJaJn4hIXTQBOtbD1TmJiFSGFT8RkQRtgFb8\nTPxERBI0uuYbFPH5fJg3bx4OHDgAo9GInJwcdO7cGQDw7bffIjc31//a0tJSLFu2DDExMRg8eDCs\nVisAYNCgQXj44Ydlt83ET0QkoTnH+Ldt2wa32438/HyUlpZiwYIFWLFiBQCgR48eWLduHQDggw8+\nQMeOHZGQkIDdu3cjOTkZc+fOvay2mfiJiCQ051BPSUkJ4uPjAQC9evVCWVlZvddUV1dj6dKlWL9+\nPQCgrKwM5eXlGD16NMLCwpCVlYWOHTvKbpsXd4mIJGi0WsWPxjgcDpjNZv9znU6H2traOq/ZuHEj\nkpKSEBYWBgDo1q0bpkyZgvXr12PQoEHIyclRdF6NVvwd2xigMxiafECXkP9dcrq6FnDaZcfdcr1F\ndgwRUVM1Z8VvNpvhdP5vQUufzwe9vm5Kfv/99/HKK6/4n/fr1w8hISEAgMTExDr75GDFT0R0Fdhs\nNhQVFQG4cPH24gXbi+x2O9xuNzp16uTflpWVhY8++ggAUFxcjKioKEVtc4yfiEhCc17cTUxMxK5d\nuzBq1CgIIZCbm4s1a9YgPDwcAwcOxJEjR3DTTTfViZkxYwbmzJmDvLw8hISEKB7q0QghREM7XC4X\nysrK0OEP3WQN9ViCdLI7cbq6tvEXNYBDPUR0MVdFR0cjKCjoih57R584xbF3f1l8BXtyZbHiJyKS\nwBu4iIhURqNl4iciUhVtM965ezUx8RMRSeDqnEREFBBY8RMRSQjUip+Jn4hIAsf4iYhUhhU/EZHK\naNU6nfP6mu9h9DT9585pbRfZnejqOCQ7ZsmxUACnZMdl3HWL7BgiUqfm/EMsVxMrfiIiCYF6525g\nfp0REZEkVvxERBJ4cZeISGU4xk9EpDKBOsbPxE9EJIGrcxIRqQzv3CUiUplAvbgbmF9nREQkiRU/\nEZEEzuohIlIZjZaJn4hIVVR7cXdPTQf4tE3/fujdVv7FEF+bdrJjpvTpIDvmvNDhZ0e17LjrzG1k\nxxDRtY9DPUREKsPET0SkMoE6xh+YZ0VERJJY8RMRSdDodFe7C82CiZ+ISALH+ImIVEYboGP8TPxE\nRBKas+L3+XyYN28eDhw4AKPRiJycHHTu3Nm/PycnB3v37oXJZAIALF++HB6PB08//TRqamrQsWNH\nzJ8/HyEhIbLbZuInIpLQnIl/27ZtcLvdyM/PR2lpKRYsWIAVK1b495eXl2P16tUICwvzb8vJyUFy\ncjLuv/9+rFy5Evn5+UhPT5fddmD+jiEiugI0Wq3iR2NKSkoQHx8PAOjVqxfKysr8+3w+HyorK/Hs\ns89i1KhR2LhxY72YhIQE7N69W9F5seInIroKHA4HzGaz/7lOp0NtbS30ej2qq6sxevRoPPLII/B6\nvRg7diyio6PhcDhgsVgAACaTCXa7XVHbTPxERBKac6jHbDbD6XT6n/t8Puj1F1JySEgIxo4d6x+/\n79evHyoqKvwxwcHBcDqdCA0NVdQ2h3qIiCRodFrFj8bYbDYUFRUBAEpLS2G1Wv37jh49itTUVHi9\nXng8HuzduxdRUVGw2WwoLCwEABQVFSE2NlbReTVa8btqffBqfU0+oNcnZHdC46uVHQPR9D5d5BPy\nb8Y4dP8w2TEA8Met2xXFEVHr0ZyrcyYmJmLXrl0YNWoUhBDIzc3FmjVrEB4ejoEDB2L48OEYMWIE\nDAYDhg8fju7du2PixInIzMzEhg0b0K5dOyxevFhR2xzqISKS0Jxr9Wi1WmRnZ9fZFhER4f/v8ePH\nY/z48XX2d+jQAW+88cZlt83ET0QkgXfuEhGpTKAm/sA8KyIiksSKn4hIQqCux8/ET0QkQctlmYmI\n1CVQx/iZ+ImIJDDxExGpDMf4iYhUJlAr/sA8KyIiksSKn4hIQqBW/I0mfq0GgKbpB9RoZLz4V0Kj\n4M0V8heDUyLslvayYw7/+zA+jOgtOy7p8FeyY4io+XCMn4hIZTRazuMnIlIXJn4iIpXhUA8Rkbpo\nAnTJhsD8OiMiIkms+ImIpHCMn4hIZZj4iYjUhfP4iYjUhhU/EZHKMPETEalLoA71BOZZERGRpEYr\nfoNOC5+Mbz2t/DXaACWLtLUQQ6hJdkyHW8Nkx5z+5kd80OV22XFDjn4tO4aImohDPUREKsPET0Sk\nLoG6ZAMTPxGRlAC9uMvET0QkhUM9RETqwj/EQkREV4zP58O8efNw4MABGI1G5OTkoHPnzv79b775\nJrZs2QIAuOuuuzB58mQIIZCQkIAuXboAAHr16oUZM2bIbpuJn4hISjOO8W/btg1utxv5+fkoLS3F\nggULsGLFCgDA8ePHsXnzZhQUFECr1SI1NRWDBg1CSEgIoqKi8Nprr11W20z8REQSmnOop6SkBPHx\n8QAuVO5lZWX+fTfeeCNWr14N3a+zimpraxEUFITy8nKcOnUKY8aMQXBwMGbPno1u3brJbpuJn4hI\nSjMmfofDAbPZ7H+u0+lQW1sLvV4Pg8GAsLAwCCGwaNEi9OzZE127dsWPP/6ICRMmYMiQIfjyyy+R\nkZGBd999V3bbTPxERFKacajHbDbD6XT6n/t8Puj1/0vJLpcLc+bMgclkwnPPPQcAiI6O9v8K6NOn\nD6qqqiCEgEYjb8mEwJykSkR0BWh0OsWPxthsNhQVFQEASktLYbVa/fuEEHjyySdx6623Ijs725/s\nX331VaxduxYAUFFRgU6dOslO+gArfiIiac041JOYmIhdu3Zh1KhREEIgNzcXa9asQXh4OHw+Hz7/\n/HO43W7s3LkTADB9+nRMmDABGRkZKCwshE6nw/z58xW13WjiN2o1ELpm/mGg4BurpeiDjbJjgtoG\nyY65rtt1smP+W/4jNt4QJTvuwVPlsmOI6MrSarXIzs6usy0iIsL/3/v3728wbuXKlZfdNit+IiIp\nvIGLiEhdAvUPsTDxExFJYcVPRKQyrfiPRF0OJn4iIilM/ERE6iICNPEH5lkREZEkVvxERFICtOJn\n4iciktKKby69HEz8RERSOI+fiEhdAvXiLhM/EZEUtSZ+rRay5v7oFAyJCW3r/f4xWtrIjgm+Tn6M\nzytkx3Ts0lZ2TNXRc1zYjaipAjTxB+ZZERGRpNZbahMRXW0BWvEz8RMRSeDFXSIitWHiJyJSGd7A\nRUSkMqz4iYjUJVDH+APzrIiISBIrfiIiKVyrh4hIZQJ0qIeJn4hIChM/EZHKqDXxx5zaDaOobfIB\nz19/r+xOiGCL7Bi31ig7xuy2y47R3z9GdkyY/azsGG2ISXYMtDr5MT6v/BgAvoO7ZMdorQMUtUXU\nWgTqrB5W/EREUgI08QfmWRERkSRW/EREUrhkAxGRyjTjUI/P58O8efNw4MABGI1G5OTkoHPnzv79\nGzZswDvvvAO9Xo+JEyfinnvuwdmzZ/H000+jpqYGHTt2xPz58xESEiK7bQ71EBFJEBqt4kdjtm3b\nBrfbjfz8fMyYMQMLFizw7zt9+jTWrVuHd955B2+88QaWLFkCt9uN5cuXIzk5GW+//TZ69uyJ/Px8\nRefFxE9EJEWjVf5oRElJCeLj4wEAvXr1QllZmX/fvn370Lt3bxiNRlgsFoSHh6OioqJOTEJCAnbv\n3q3otDjUQ0QkQTTjGL/D4YDZbPY/1+l0qK2thV6vh8PhgMXyv2nuJpMJDoejznaTyQS7Xf4UdYCJ\nn4hIkhDNd2yz2Qyn0+l/7vP5oNfrG9zndDphsVj824ODg+F0OhEaGqqobQ71EBFdBTabDUVFRQCA\n0tJSWK1W/76YmBiUlJTA5XLBbrfj8OHDsFqtsNlsKCwsBAAUFRUhNjZWUdus+ImIJPiaseRPTEzE\nrl27MGrUKAghkJubizVr1iA8PBwDBw7EmDFjkJaWBiEEpk2bhqCgIEycOBGZmZnYsGED2rVrh8WL\nFytqWyNEw2fmcrlQVlaGW12V8pZs6CV/yYZg4ZYdo2TJhiAlSzacPSY7xheASzYowSUbqCVczFXR\n0dEICgq6ose2V59XHGtpI3+aZUthxU9EJMHXjGP8V1PjiV+jAzRNP3utoovg8i81KGpGyc0Ywqek\nJdl8552Nv+h3NAb5v3paquKfGztBUVyu6/AV7gmRchIDItc8VvxERBLUW/ETEalUgOZ9TuckIlIb\nVvxERBI41ENEpDK8uEtEpDItM6ev5THxExFJCNCCn4mfiEgKx/iJiFQmUMf4OZ2TiEhlWPETEUng\nxV0iIpUJ0JGeJiR+4b3waEZN+cPE9WKaoR8NUtC3llo8Tbhq5LejhFb+e9DBKH/JaEetD9kht8iO\ne/b8d7JjiJqiOdfjv5pY8RMRSQjMtM/ET0QkidM5iYhUJkBHejidk4hIbVjxExFJ8AXoKD8TPxGR\nhEAd6mHiJyKSwIu7REQqw4qfiEhlAnWMn7N6iIhUhhU/EZEEDvUQEamMetfq8fkA0fTFSTUKOiG0\n8hf00rTQ5XYlC8i1ZsLdMgu7mfUt875xYTdqTt4AXZeZFT8RkQT1VvxERCrlZeInIlKXlq74a2pq\nkJGRgTNnzsBkMmHhwoUICwur85qFCxdi7969qK2txciRIzFixAj8/PPPGDx4MKxWKwBg0KBBePjh\nhyXbYeInImol8vLyYLVa8dRTT2HLli1Yvnw5srKy/Pv37NmDY8eOIT8/H263G8OGDcPgwYPxzTff\nIDk5GXPnzm1SO4F15ZKI6Ary+pQ/lCgpKUF8fDwAICEhAcXFxXX29+7dG7m5uf/rn9cLvV6PsrIy\nlJeXY/To0ZgyZQqqqqou2Q4rfiIiCc051FNQUIC1a9fW2da+fXtYLBYAgMlkgt1ur7M/KCgIQUFB\n8Hg8mDVrFkaOHAmTyYRu3bohOjoa/fv3x+bNm5GTk4NXXnlFsm0mfiIiCc15cTclJQUpKSl1tk2e\nPBlOpxMA4HQ6ERoaWi/u3LlzmDJlCvr27YvHH38cANCvXz+EhIQAABITEy+Z9AEO9RARSfIJ5Q8l\nbDYbCgsLAQBFRUWIjY2ts7+mpgbp6el44IEHMGnSJP/2rKwsfPTRRwCA4uJiREVFXbIdVvxERBK8\nLbwuc2pqKjIzM5GamgqDwYDFixcDABYtWoSkpCTs3bsXx48fR0FBAQoKCgAAubm5mDFjBubMmYO8\nvDyEhIQgJyfnku0w8RMRSWjp6ZwhISENDtPMnDkTABATE4P09PQGY9etW9fkdjjUQ0SkMqz4iYgk\neAPzxt1rN/G31OehkbFA3UWK+qZgoTrAo6Ql2ZQs7NZSi7TpNPKXBfzRXYu5wRGy456vOSw7hq5t\nXKuHiEhlWvribkth4iciksCKn4hIZTjGT0SkMoFa8XM6JxGRyrDiJyKS4OPFXSIideEYPxGRygTq\nGD8TPxGRBP7NXSIileEYPxGRygTqGD+ncxIRqUyrqPiVDKPJX5pLGaFpxd+NWgV9a6GYllukTf4i\nem6f/AXxfvJ4MSdI/sJuuS4u7HYt48VdIiKV4cVdIiKV4eqcREQqw8RPRKQyTPxERCoTqIm/FU9Z\nISKi5sCKn4hIQqBW/Ez8REQSmPiJiFSGiZ+ISGWY+ImIVIaJn4hIZVSb+HUdw6GXsaaVVyt/+TS3\ngrVPjTr57QidQXbM6bBbZccocZ1R/sxan4Kl6jQttLrd0C9vkx3jO/aN7BhtsEl2jMYg/98B9Eb5\n7egN8H23R3ac9pZ+smOI5GDFT0QkobaFK/6amhpkZGTgzJkzMJlMWLhwIcLCwuq8ZuLEifjpp59g\nMBgQFBSE1atXo7KyErNmzYJGo0H37t3x3HPPQXuJVXV5AxcRkQSvTyh+KJGXlwer1Yq3334bf/7z\nn7F8+fJ6r6msrEReXh7WrVuH1atXAwDmz5+PqVOn4u2334YQAh9//PEl22HiJyKS0NKJv6SkBPHx\n8QCAhIQEFBcX19n/448/4pdffsETTzyB1NRUbN++HQBQXl6Ovn37+uN27959yXY41ENEJKE51+Mv\nKCjA2rVr62xr3749LBYLAMBkMsFut9fZ7/F4MG7cOIwdOxbnzp1DamoqYmJiIISA5tcLeA3F/R4T\nPxGRhOac1ZOSkoKUlJQ62yZPngyn0wkAcDqdCA0NrbO/Q4cOGDVqFPR6Pdq3b48ePXrgyJEjdcbz\nG4r7PQ71EBFJaOmhHpvNhsLCQgBAUVERYmNj6+zfvXs3/u///g/AhQR/6NAhdOvWDT179sRnn33m\nj+vTp88/BZK3AAAIR0lEQVQl22HiJyJqJVJTU3Ho0CGkpqYiPz8fkydPBgAsWrQI+/btw1133YUu\nXbpgxIgRePTRRzF9+nSEhYUhMzMTS5cuxciRI+HxeDB48OBLtqMRouFBLJfLhbKyMvS0eBEkYx6/\n66aYpr/4Vy01j19b65Id85O3ZUbDAm0ev+HMEdkxgTiPXwnO45fnYq6Kjo5GUFDQFT12+tt7Fce+\nmWa7gj25sjjGT0QkwevzXe0uNAsmfiIiCapdsoGISK2Y+ImIVKall2xoKY0mfqHVQShYeE0OJYdX\ndF+FRv4FVJ2Cq6FKzsfukX9CZmMLXalVQBhCZMdoImIbf9HvePdtlx1jCLfKjoFe/kVDoeDfm/fE\nd8CpY7LjjANGyI6hxgVqxc/pnEREKsOhHiIiCYFa8TPxExFJYOInIlIZJn4iIpVh4iciUhnBxE9E\npC6+AE38nM5JRKQyrPiJiCRILF58zWPiJyKSwDF+IiKVCdQxfiZ+IiIJIjCX42888WtqXdDI+NZT\nMiSmZK6sXq9kZTf5n6IQCq5/K1jYTcEfFIPDLf98LHoFH5CCxca058/Jb0crvx1Nz/6yYzwHv5Qd\no7NcJztGExQsO0bJXxSDVofarz6UHabvnSS/LZXhGD8RkcoE6lAPp3MSEakMK34iIgmc1UNEpDJM\n/EREKuPjxV0iInVhxU9EpDJM/EREKsPpnEREFBBY8RMRSeCdu0REKqPatXqIiNSqpcf4a2pqkJGR\ngTNnzsBkMmHhwoUICwvz7y8qKsKqVasAXPg1UlJSgn/+859wuVx4/PHH0aVLFwBAamoqhg4dKtnO\nFU/8CtYng0ZBkKJfYAoWG1PSNyULrimhVdCO0ys/yKytld+QAkLB5wOf/L7prH3kN3P4K9kxSi6g\nadu2VxAk/39j4T4Pb8VO2XG6yHjZMdeylp7Vk5eXB6vViqeeegpbtmzB8uXLkZWV5d+fkJCAhIQE\nAMDq1aths9kQERGBgoICPPLIIxg3blyT2uHFXSIiCcInFD+UKCkpQXz8hS/XhIQEFBcXN/i6H374\nAe+99x4mT54MACgrK8OOHTvw0EMPYc6cOXA4HJdsh0M9REQSmvPO3YKCAqxdu7bOtvbt28NisQAA\nTCYT7HZ7g7Fr1qxBeno6jEYjACAmJgYpKSmIjo7GihUrsGzZMmRmZkq2zcRPRHQVpKSkICUlpc62\nyZMnw+l0AgCcTidCQ0Prxfl8PuzYsQPTpk3zb0tMTPS/NjExEc8///wl2+ZQDxGRhJYe6rHZbCgs\nLARw4UJubGxsvdccPHgQXbt2RXDw//7Qz6OPPop9+/YBAIqLixEVFXXJdljxExFJaOmLu6mpqcjM\nzERqaioMBgMWL14MAFi0aBGSkpIQExODI0eO4Oabb64TN2/ePDz//PMwGAzo0KFDoxW/RkjcoeBy\nuVBWVoaeJheCtE0/eVd4/W+oxri98t9cg4IpLTqfR3bML16d7BhDK/4dpeCthlnrlR2j//E/smOE\nroXqEAWzYBTN6mljkR/TgrN6lGiNs3ou5qro6GgEBQVd0WN3n/R3xbGHlv3lCvbkymLFT0QkgXfu\nEhGpDFfnJCJSGa7OSUREAYEVPxGRBOGTP7HhWsDET0QkQbWJX/h8EGjecS4lV86VLJ6mhJKF0Fqq\nb0roFXTtvJA/pdWi5DP1yl9wTeOVP0VX6AyyY7Rdb5Md4z1YIjtG0zFcfozHJTsGIfXvCG2UVgvv\n8f2yw3Q3y3/vWgvVJn4iIrUSXiZ+IiJVYcVPRKQygZr4OZ2TiEhlWPETEUkI1IqfiZ+ISAITPxGR\nyjDxExGpjI+Jn4hIXVjxExGpTKAmfk7nJCJSGVb8REQS1Ltkg88LNPMiba15UbPWTNECcgraEUo+\nH+FTECM/RBEFP981Chad0/YcIL+d6p9kxyhZdE4Rn4LP9Bpf2C1Qh3pY8RMRSWDiJyJSGSZ+IiKV\nEUqGt64BTPxERBICteLndE4iIpVhxU9EJCFQK34mfiIiCVyrh4hIZdR7AxcRkUpxqIeISGUCNfFz\nVg8RkQTh8yp+XI6tW7dixowZDe7bsGED7r//fowYMQLbt28HAJw9exbjxo1DWloapk6divPnz1/y\n+JIVv/h1bRK30AAy7mHwuN1Nf/HFGK+CRVp08teP0XprZcd4hPwPUNHaNgq02Fo9CmJcSj5TBTQK\nmhFKghTEiFr5/3a0CvKFaLFFjhRQsMYRAOhcria/1v1rzhEK22ptcnJy8Omnn6JHjx719p0+fRrr\n1q3Du+++C5fLhbS0NAwYMADLly9HcnIy7r//fqxcuRL5+flIT0+XbEMy8Xs8HgDAYbdJXq8PHZL3\neqLL0lIL/Cm5g9OuIEbJ+bTm4QiFfTtTJjvE4/EgODhYWXsSXCWrrujxmsJms2HQoEHIz8+vt2/f\nvn3o3bs3jEYjjEYjwsPDUVFRgZKSEjz++OMAgISEBCxZskRZ4jeZTLBarTAYDFw9k4haLSEEPB4P\nTCaZRepVVlBQgLVr19bZlpubi6FDh+Kzzz5rMMbhcMBisfifm0wmOByOOttNJhPs9ksXHZKJX6vV\n1mmAiKi1utKVfktISUlBSkqKrBiz2Qyn0+l/7nQ6YbFY/NuDg4PhdDoRGhp6yePw4i4R0TUiJiYG\nJSUlcLlcsNvtOHz4MKxWK2w2GwoLCwEARUVFiI2NveRxOJ2TiKiVW7NmDcLDwzFw4ECMGTMGaWlp\nEEJg2rRpCAoKwsSJE5GZmYkNGzagXbt2WLx48SWPpxGBcimciIiahEM9REQqw8RPRKQyTPxERCrD\nxE9EpDJM/EREKsPET0SkMkz8REQq8/+aNml4RjQaLwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x104153518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# disable tick labels\n",
    "visualizer = Rank2D(show_feature_names=False)\n",
    "visualizer.fit_transform_show(X.values, y.values);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Quick method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbYAAAF0CAYAAABPKRzPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtcVGX+wPHPMFxCGBDEUAtdRS2TXARdbN3M8oYXslBQ\nUMy8tFurWVjiJc2IzLu7St4vICkqhKWmZZgrpmWrrqWWqah4B9RUGIVhLr8//DlFXGTGGRiH7/v1\nmtcLzjnf53nOZH59znnO9ygMBoMBIYQQwk441PQAhBBCCEuSxCaEEMKuSGITQghhVySxCSGEsCuS\n2IQQQtgVSWxCCCHsiiQ2IYQQVvHDDz8QExNTZvvXX39Nv379GDBgABs2bACgqKiI0aNHEx0dzciR\nI7l27ZrZ/UpiE0IIYXHLli3jnXfeobi4uNT2kpISPvzwQ1auXElKSgrr16/nypUrpKam0rJlS9au\nXcsLL7zAwoULze7b8X4H/6DS6/Wo1WqcnJxQKBQ1PRwhhCiXwWCgpKQENzc3HBwenLlI48aNWbBg\nAePGjSu1PTs7m8aNG+Pp6QlAcHAw//3vfzlw4AAjRowAoFOnTpLYzKFWqzl+/HhND0MIIaqkZcuW\nqFQqi7b5D8WfzI5dbDhT6f4ePXpw/vz5MtsLCwtLnYebmxuFhYWltru5uVFQUGD22GptYnNycgLu\n/GFxdnau4dEIIUT5NBoNx48fN/6d9aBzd3dHrVYbf1er1ahUqlLb1Wo1Hh4eZvdRaxPb3cuPzs7O\nuLi41PBohBCicta4ZaKsgbsw/v7+5OTkcP36derUqcP+/fsZPnw4Fy9eZNeuXbRp04asrCyCg4PN\n7qPWJjYhhKjtlNW4vmDz5s3cunWLAQMGMH78eIYPH47BYKBfv374+voSFRVFXFwcUVFRODk5MWfO\nHLP7Uthqdf+MjAwOHTqEg4MDU6dOrdLxnp6edOnShY8//pjBgwdXenxxcTFHjhwhICBAZmxCCJtl\nzb+r3nRsanbsPO1pC47Esmx6xubh4cFbb71VpWPDw8ONPy9atOieiU0IIWq76pyxVSebTmwXLlwg\nMjKSDRs2EBYWRrt27fjll19o1qwZ9erVY//+/Tg7O7N06VIWL16Mj48P169f58aNG0ydOrVKMz0h\nhBD25YF5KEKtVtOnTx/Wrl3L/v37CQoKYs2aNZSUlHDy5Enjca+++iqenp6S1IQQ4h6UCvM/tsym\nZ2x/1Lp1a+DOJUp/f3/jz398sl0IIcS9yaVIG1DV5a42uh5GCCFsiq3PvMz1wFyKNIW/v3+VF50I\nIURtpVQozP7YMptd7m9tstxfCPEgsObfVfGuzc2OnXL75L0PqiEP1KVIIYQQlmPrMy9z1frEprlV\nACVFVT7exd3TiqMRQghxv2p9YhNCiNrKXhePSGITQohaSi5FCiGEsCsyYxNCCGFXZMYmhBDCrtjr\njO2BeED79OnTDBw4kMGDBxMdHc2lS5eYM2cOUVFRDBgwgG3btqHVahk4cCC7d+/mypUr9O7dm0uX\nLtX00IUQwmbZ6wPaD8SMbe/evbRp04a3336b/fv3k5mZyfnz50lNTaW4uJjIyEg6duzI7Nmz+cc/\n/kH9+vUZN24cDRs2rOmhCyGEqGYPRGLr378/y5YtY8SIEahUKh5//HGOHj1KTEwMAFqtlgsXLtCq\nVSuCgoI4dOgQnTp1quFRCyGEbZNLkTVox44dBAcHk5ycTGhoKBkZGYSEhJCSkkJycjI9e/bEz8+P\nQ4cOceLECdq3b8/KlStrethCCGHT5LU1NSggIIC4uDgWLVqEXq9n/vz5bN68mejoaG7dukXXrl0x\nGAxMmjSJxMREGjVqREREBH/5y1948skna3r4Qghhk2z9Xpm5an0R5JbNmuDs5FTlOCmpJYSoTtYs\ngpzi08rs2JgrP1twJJb1QMzYhBBCWJ69zthqfWI7dl0PSn2Vjn3Sx5miW2qT+3iojpvJMUIIYW22\nfq/MXA/E4hEhhBCiqmr9jE0IIWoruRQphBDCrsilSBs0e/ZsMjIyanoYQgjxQJKSWkIIIeyKg40n\nKHPZdGIrKSnh3XffJScnB71ezxtvvMH169dZtGgR3t7elJSU0KxZM/bt28e6deuYN28eAB07dmTP\nnj01PHohhLBtCju9FmnTiS0tLQ0vLy+mTZvGr7/+yuDBg7l16xYZGRnUrVuXV155paaHKIQQDywH\nSWzV7/jx4xw4cIAff/wRuDODUygUeHl5AdC2bdty42ppMRUhhBDYeGJr1qwZDRo04B//+AdFRUUs\nWrSIzZs3c+3aNby9vTl8+DANGjTAxcWF/Px8AC5cuMCNGzdqeORCCGH7FErrrB/U6/VMnTqVX375\nBWdnZxISEmjSpAkAP//8M9OmTTMee+jQIT766CPatGlDjx49aNmyJQBdu3blpZdeMqt/m05sAwcO\n5J133mHw4MEUFhYSHR3NlClTGD58OJ6enjg63hl+QEAAKpWKiIgI/P39efTRR2t45EIIYfusdY8t\nMzMTjUbD+vXrOXToENOnT2fRokUAtGrVipSUFAC2bdvGww8/TKdOndi7dy99+vRh8uTJ992/TSc2\nZ2dnZs6cWWZ7586dy2y7+6UJIYSoGmvdYztw4ABPP/00AIGBgRw5cqTMMbdu3WLBggV8/PHHABw5\ncoSjR48yePBgvL29eeedd3j44YfN6v+Bfo5NCCGE+RQODmZ/KlNYWIi7u7vxd6VSiVarLXVMeno6\noaGheHt7A3duPb3++ut8/PHHdO3alYSEBLPPy6ZnbNXh4TpOKKv42ppig+n/Dsi/pQV1gclxzeur\nTI4RQghTWGvG5u7ujlr9W8F4vV5vvHV01+bNm5k/f77x9w4dOuDq6gpAt27dSu0zlczYhBCillIo\nFWZ/KhMUFERWVhZwZ3HI3QUhdxUUFKDRaGjYsKFx2zvvvMOXX34JwLfffkvr1q3NPq9aP2MTQghh\nWd26dWPPnj0MHDgQg8HAtGnTWLVqFY0bN6ZLly6cPn2aRx55pFTM2LFjmThxIqmpqbi6ut7Xpcha\n/wZtn0ebVflSpMpFaXI/+be09z6oHHIpUggB1n2D9n/aPWV2bOf931pwJJb1wFyKXLp0qfFB7XuR\n4shCCHFvDkqF2R9b9sBcipTyWUIIYVkKB9tOUOayWmLLyMhg586dFBUVkZ+fz5AhQ9ixYwcnTpxg\n3LhxXL58me3bt3P79m28vLxITExky5YtfPLJJ+j1el5//XUmTpxIs2bN8Pf35+bNm/Tq1Yunnnqq\nTGHkkJAQvvzyyzLFkYUQQlTMwUqVR2qaVWdsarWalStX8vnnn5OUlMSGDRvYt28fSUlJBAQEkJSU\nhIODA8OHD+fw4cMAeHh4GB+2vnTpEhkZGXh5eTF+/Hig/MLIn376KdOnT5fiyEIIYQKp7m+GVq1a\nAaBSqfD390ehUODp6UlJSQlOTk7ExsZSp04dLl++bHx4r2nTpsZ4Ly8vY8Hju/5YGFmr1ZKfn4+n\np+c9iyMLIYT4jSQ2MygqeIldSUkJmZmZpKWlcfv2bcLDw40V+R1+90S7QzlPt5dXGNnHx4ebN2+W\nKY4shBCi9qmRxSOOjo64uroycOBAAOrXr09eXl6VYssrjOzs7FxucWQhhBAVs9d7bPIcmzzHJoSw\nYdZ8ju370OfMjv3LF19bcCSWJVMbIYSopRxkub99ql90HueSqk3H8x3+ZHL7TQtPmBwz96wHkGty\n3NvPNDc5RghRe1nrRaM1rdYnNiGEqK1svYKIuSSxCSFELWWvy/3tcx4qhBCi1pIZmxBC1FJyj00I\nIYRdkXtsNaCwsJBJkyZRUFBAXl4e0dHRBAQE8N577+Hm5ka9evVwcXFh+vTppKSksGXLFhQKBb16\n9WLIkCE1PXwhhLBpUt2/BuTk5NC7d2+6d+9Obm4uMTExuLm5MXPmTFq0aMG8efPIzc3l5MmTbN26\nlbVr1wLw8ssv87e//U0q/AshRCXstfKITSc2Hx8fkpOT2b59O+7u7mi1WvLy8mjRogUAwcHBbN26\nlePHj3Px4kWGDh0KwI0bN8jJyZHEJoQQlbDXVZE2ndhWrlxJYGAg0dHRfPfdd+zatYsGDRpw8uRJ\nmjdvzg8//ADcKYzcvHlzli9fjkKhICkpiccee6yGRy+EELZNFo/UgGeffZaEhAS2bt2KSqVCqVQy\nZcoUJk6cSJ06dXBycsLX15fHH3+cp556iqioKDQaDW3atMHX17emhy+EEKIG2HRi69ChA1u2bCm1\nbc2aNSxevBhvb2/mzZuH0/8XMB4xYgQjRoyoiWEKIcQDSVHOq8HsgU0ntvLUq1ePYcOGUadOHVQq\nFdOnT6/pIQkhxANJFo/YiNDQUEJDQy3W3ndFPugdqvY1tPU0/Uarvo7XvQ/6g9fb+Zgcc9ug5Hrh\nLZPj6rrXMTlGCGEf5B6bEEIIuyKJTQghhF2Re2xCCCHsikKprOkhWIVNpeuOHTtWuO/8+fNERkZW\n42iEEEI8iGTGJoQQtZTcY/t/5RUm3rZtG02bNuX06dMYDAbmzZvHqVOnmD17Nk5OTkRGRvLCCy+U\naUun0zF58mROnjyJn58fGo0GgEuXLjF58mSKi4txcXHh/fffLxX3xRdfsGbNGrRaLQqFgsTERJKS\nkvD19WXQoEHcuHGDl19+mYyMDDO/FiGEsH8Oco/tjvIKE/v6+hIUFER8fDxr1qxhyZIldOvWjeLi\nYtLS0ips66uvvqK4uJgNGzZw8eJFvvzySwBmzJhBTEwMzzzzDN9++y2zZ8/mzTffNMadOXOGpUuX\n4urqypQpU/jmm2+IiIggNjaWQYMGsWXLFsLCwsz4OoQQovaw1oxNr9czdepUfvnlF5ydnUlISKBJ\nkybG/QkJCRw8eBA3NzcAFi5cSElJCW+99RZFRUU8/PDDfPjhh7i6uprVv8mJrbzCxHCnSghAUFAQ\nX3/9NQBNmzattK0zZ87Qpk0bABo1akTDhg0BOH78OEuWLGH58uUYDAYcHUsPs169esTFxeHm5sap\nU6cIDAzEz88PNzc3Tp48yebNm1m4cKGppyaEELWKtRJbZmYmGo2G9evXc+jQIaZPn86iRYuM+48e\nPcry5cvx9vY2bktISKBPnz6Eh4ezdOlS1q9fbyxsbyqTz+puYeLZs2cTGhqKwWAA4MiRIwAcPHiQ\n5s2b32n8HtPc5s2bc+jQIQByc3PJzc0F7hQ1fuutt0hJSeG9994r9UB2QUEB8+fPZ968eSQkJODi\n4mIcQ2RkJAsXLsTX17fUFyaEEKIshYOD2Z/KHDhwgKeffhqAwMBAY36AO7O5nJwcpkyZwsCBA0lP\nTy8T06lTJ/bu3Wv2eZk8YyuvMLFGo2Hjxo0kJSXh6urKzJkzOX78+D3b6tKlC3v27CEiIoJGjRrh\n5XWnSkdcXBxTp06luLiYoqIiJk2aZIxxd3cnKCiIAQMG4OjoiIeHB3l5eQB07dqV+Ph4Zs2aZepp\nCSFErWOtGVthYSHu7u7G35VKJVqtFkdHR27dusXgwYN5+eWX0el0DBkyhICAAAoLC1GpVAC4ublR\nUFBgdv8mJ7byChPHxMQQGxuLv7+/cVtISAghISGVtqVQKHj33XfLbPfz82PFihVltm/YsAGAf//7\n3+W2p9PpeOSRRyp9bEAIIYR1ubu7o1arjb/r9XrjLSVXV1eGDBlivH/WoUMHjh07Zox56KGHUKvV\neHh4mN1/tSyJSUxMJCYmpszn3LlzFuvj4MGDREZGMnLkSLtd6SOEEJakUDqY/alMUFAQWVlZABw6\ndIiWLVsa9505c4aoqCh0Oh0lJSUcPHiQ1q1bExQUxK5duwDIysoiODjY/PMy3L1BVcsUFxdz5MgR\n8h5qgK6KRZD/0sj93gf9gfetiybH6FQPmxyjNjiZHHMivLfJMQAhX+00K04IYbq7f1cFBATg4uJi\n0bZzZ442O9Z33IIK991dFXn8+HEMBgPTpk0jKyuLxo0b06VLF5YvX862bdtwcnKib9++REVFceXK\nFeLi4lCr1Xh5eTFnzhzq1DGvSLs8oC2EELWUtWpFOjg4EB8fX2rb729Vlff+TB8fn3JvQZlDEpsQ\nQtRSUnlECCGEXbHXxGZTZ5WamsqCBRVftx0/frzxhqQQQoj7Y63n2GqabY9OCCGEMNE9L0VmZGSw\nc+dOioqKyM/PZ8iQIezYsYMTJ04wbtw4Ll++zPbt27l9+zZeXl4kJiYyYcIEwsLC6Ny5M9nZ2cyY\nMYOlS5eW2/7+/fuZNm0aHh4eKJVKAgMDAUhJSWHLli0oFAp69erFkCFDjDHlFWIOCwvjxRdf5Msv\nv0SpVDJr1ixat25Nr169LPRVCSGEfXGoze9jU6vVLFu2jJEjR5KamkpiYiLx8fGkp6dz/fp1kpKS\nSEtLQ6fTcfjwYSIiIti4cSMA6enp9O/fv8K233vvPebMmUNSUhKPPvooACdPnmTr1q2sXbuWNWvW\nkJmZyalTp4wxdwsxr1y5khUrVpCUlIRKpSI4OJhvvvkGnU5HVlYWXbt2vZ/vRggh7Jq1nmOraVVa\nPNKqVSsAVCoV/v7+KBQKPD09KSkpwcnJidjYWOrUqcPly5fRarWEhISQkJDAtWvX2LNnD7GxsRW2\nfeXKFWOx5KCgIM6ePcvx48e5ePGisQDmjRs3yMnJMcZUVIg5IiKClJQU9Ho9f/3rX3F2djbrSxFC\niNrA1hOUuap0VgqFotztJSUlZGZm8q9//YvJkyej1+sxGAwoFAqef/55EhIS6NixI05OFT887Ovr\nS3Z2NgCHDx8G7hRBbt68OatXryYlJYXw8HAee+wxY0xFhZjbtWvHuXPn7jlLFEIIYb+LR+5rub+j\noyOurq4MHDgQgPr16xsLEoeHh9O5c2c+++yzStuIj49n3LhxuLu74+bmhqenJ48//jhPPfUUUVFR\naDQa2rRpg6+vrzGmokLMzs7OhIWF8cUXX9CiRYv7OTUhhLB79jpjs1pJrdzcXMaNG0dycrI1mq/Q\n8uXLqVu37j1nbFJSS0pqCfEgsGZJrcI18fc+qALug6ZYcCSWZZUHtLdv386CBQuYOnUqABcvXiQu\nLq7Mce3bt+f111+3WL/jx48nLy+PxYsXW6xNIYQQDxarJLbu3bvTvXt34++NGjUiJSXFGl2VMn36\ndJNjHBRA+bcQy6joXmNlDAozpvrVVJfau3k9k2Oyt2fzhX9bk+NCs/9ncowQwrps/V6ZuaSklhBC\n1FIKB/t8jk0SmxBC1FaS2IQQQtgVO70UadZZZWVlsX79ekuPhY4dO1a47/z580RGRlq8TyGEqK0U\nSqXZH1tm1oytU6dOlh6HEEKI6iaXIn+TkZHB7t27uXDhAhs2bAAgMjKSuXPnsnHjRs6fP8/Vq1e5\nePEiEyZM4Omnny63HZ1Ox+TJkzl58iR+fn5oNBoALl26xOTJkykuLsbFxYX333+/VNwXX3zBmjVr\n0Gq1KBQKEhMTSUpKwtfXl0GDBnHjxg1efvllMjIyzDk9IYQQDzCrXGB1dnZm+fLlTJo0iaSkpAqP\n++qrryguLmbDhg2MHTuW27dvAzBjxgxiYmJISUlh+PDhzJ49u1TcmTNnWLp0KampqTRv3pxvvvmG\niIgIPv30UwC2bNlCWFiYNU5NCCHsh4PS/I8Ns9jikd8XMLlbNLlBgwbGWVh5zpw5Q5s2bYA7z7o1\nbNgQgOPHj7NkyRKWL1+OwWDA0bH0MOvVq0dcXBxubm6cOnWKwMBA/Pz8cHNz4+TJk2zevJmFCxda\n6tSEEMIuyXNsf6BSqbh69So6nQ61Ws358+eN+6r6IHPz5s35/PPPeemll8jNzSU3Nxe4UwR52LBh\nBAUFkZ2dzX//+19jTEFBAfPnz+c///kPAC+//LIxqUZGRrJw4UJ8fX3x9vY299SEEKJ2sPGZl7nM\nTmweHh507NiR/v374+fnR5MmTUxuo0uXLuzZs4eIiAgaNWqEl5cXAHFxcUydOpXi4mKKioqYNGmS\nMcbd3Z2goCAGDBiAo6MjHh4exsLLXbt2JT4+nlmzZpl7WkIIUXtIYvuNVqvFycmJ+PiyBTRHjx5t\n/Nnf37/SUloKhYJ33323zHY/Pz9WrFhRZvvdhSr//ve/y21Pp9PxyCOPVPrYgBBCiDvkUuT/27Vr\nF6tXrzYWOK6KxMRE9u3bV2b7tGnT8PPzM3UI5Tp48CDvvvsu//znP3Gw0/9YQghhUXY6Y7Paa2ts\n3d1XQdxwb4S+iq+tadvAzeR+PG7lmhyjr+Nlcowa098WfjPhVZNjrhw+f++D/iD/pysmxwD0PPOD\nWXFC2BNrvram+OvVZse6PDfEgiOxLCmpJYQQtZWdztgksQkhRC1l66WxzCWJTQghais7XY9gkbOq\nrCjyggULSE1NrXI748ePr3C/KW0JIYS4B6k8UjEpiiyEEA8ea71oVK/XM3XqVH755RecnZ1JSEgo\n9axzUlISn3/+OQDPPPMMo0aNwmAw0KlTJ/70pz8BEBgYyNixY83q3yKJrbKiyPeSnZ3NxIkTcXV1\nxdXVFU9PTwC2bdtGUlISDg4OBAcH89ZbbxljdDodU6ZM4fLly+Tl5fHcc88xZswYevToQVpaGnXr\n1mXt2rWo1WpGjhxpiVMUQgj7Y6VLkZmZmWg0GtavX8+hQ4eYPn06ixYtAuDcuXNs2rSJtLQ0HBwc\niIqKomvXrri6utK6dWsWL1583/3X+AXWmTNn8vrrr5OUlETbtm0BuH79OgsWLCApKYnU1FRyc3PZ\ns2ePMebSpUsEBgayYsUK0tPTWbduHQ4ODoSFhRn/FbBp0yZefPHFGjknIYSozQ4cOGB8q0tgYCBH\njhwx7mvQoAHLly9HqVSiUCjQarW4uLhw9OhRcnNziYmJYeTIkZw6dcrs/q22eKSqj8f9vhByUFAQ\np06d4uzZs1y7do1XXnkFALVazdmzZ40xdevW5fDhw3z33Xe4u7sbCy3369eP2NhY2rdvj4+PDz4+\nPhY+KyGEsB/WuhRZWFiIu7u78XelUolWq8XR0REnJye8vb0xGAzMnDmTJ554gqZNm3LlyhVeeeUV\nevbsyf79+3n77bf55JNPzOrfYomtsqLIlfH39+d///sfnTp1Mmb1Rx99lIYNG7Jy5UqcnJzIyMig\nVatWZGZmAncufapUKuLj48nJyWHDhg0YDAYeeeQRVCoVixcvpn///pY6NSGEsE9WSmzu7u6o1Wrj\n73q9vtRbWoqLi5k4cSJubm7GsooBAQEo///xg3bt2pGXl4fBYKhyUf3fs1hiM7co8vjx44mLi2PF\nihV4e3vj4uKCt7c3Q4cOJSYmxlj/sWfPnsaYp556irFjx3Lo0CGcnZ1p0qQJeXl5+Pr6EhkZSUJC\nghRCFkKIe7HSPbagoCB27txJr169OHToEC1btjTuMxgMvPbaa4SEhBivysGd0ot169Zl5MiRHDt2\njIYNG5qV1MBCia2qRZHL07hx43KX8Pft25e+fftW2NamTZvKbU+n09GvXz9j5hdCCFE+az2g3a1b\nN/bs2cPAgQMxGAxMmzaNVatW0bhxY/R6Pd9//z0ajYbdu3cDEBsbyyuvvMLbb7/Nrl27UCqVfPjh\nh2b3f9+JrSpFkTUaDcOHDy+zvWnTpuUmQ3PNnTuXffv2WWRVjRBC2D0rXYp0cHAo83e7v7+/8efD\nhw+XG7d06VKL9F/riyDf9ngEg9KpSjFP1Hc1uR+P23kmx+hd65ocY04R5Fuzx5gc8+vxCybHFOaq\n733QH1w4al7h5P65R82KE8JWWbMIsu7YbrNjlY8/bcGRWFaNL/cXQgghLElqRQohRC0lLxoVQghh\nX2y85qO5bCpdz549m4yMjAr3x8TEkJ2dXY0jEkIIO6ZwMP9jw2TGJoQQtZWNJyhzVTmxFRYWMmnS\nJAoKCsjLyyM6Oppt27YxdepU/P39SU1N5cqVK4wePZqPPvqIzMxMvL29uX37NmPGjCEkJKTcdr/8\n8ksWLVqEt7c3JSUlNGvWDIA5c+awf/9+9Ho9Q4cOLfWA9uXLl5k6dSrFxcXk5+fzxhtv4O/vz9tv\nv016ejoAb7zxBsOGDTOW6xJCCFGaobYntpycHHr37k337t2NhSp9fX3LHHfs2DF2795Neno6JSUl\nhIWFVdhmSUkJ06dPJyMjg7p16xqfQt+1axfnz58nNTWV4uJiIiMj6dixozHu1KlTvPzyy4SEhHDw\n4EEWLFjAqlWreOihhzh58iQ+Pj6cP39ekpoQQlSmtic2Hx8fkpOT2b59O+7u7mi12lL77z4Ol52d\nzZNPPolSqUSpVBIQEFBhm9euXcPT0xMvLy8AY3X/48ePc/ToUWJiYoA7lU0uXPjt+an69euzaNEi\n0tPTjdWhASIiIsjIyKBRo0Y8//zzVT01IYQQdqTK6XrlypUEBgYye/ZsQkNDMRgMODs7k5+fD8BP\nP/0EQPPmzTl8+DB6vR6NRmPcXp569epx8+ZNrl27Bvz2NHqzZs0ICQkhJSWF5ORkevbsiZ+fnzHu\n3//+N3379mXWrFmEhIQYk2poaCh79uzhq6++ksQmhBD3olCY/7FhVZ6xPfvssyQkJLB161ZUKhVK\npZKoqCjee+89GjVqxMMPPwzAY489xjPPPENkZCReXl44OTmVqupcqnNHR6ZMmcLw4cPx9PQ0Hvfc\nc8/x/fffEx0dza1bt+jatWupVyCEhoYyc+ZMli5dSoMGDfj1118BcHFxoX379ly7do26dU2v3iGE\nELVKbX+OrUOHDmzZsqXM9q5du5b6/erVq3h4eJCeno5Go6F37940bNiwwnY7d+5M586dy2yfMGFC\nmW0pKSnAnZpjffr0Kbc9nU5HREREZacihBACWTxSZV5eXhw5coR+/fqhUCiIiIjgypUrxMXFlTm2\nZ8+eREdHW6zvYcOG4eXlxVNPPWWxNoUQwm7ZaWKr9UWQi+s+AlUtguxjehHkOkXXTI4xuLjf+6A/\nMKcIsnZJ2VnxvdzINr0I8q2rphdBvpFzw+SYvDOmx4AUTha2zZpFkLUXfzE71rHRYxYciWXJA9pC\nCFFb2enTmACmAAAgAElEQVSMzT7PSgghRK0lMzYhhKil7HXxiM2cVVZWFuPHj69w/4IFC0hNTa3G\nEQkhhJ2TIshCCCHsio0/aG2uKie206dPM2HCBBwdHdHr9cyZM4e1a9eWKVQcExND06ZNOX36NAaD\ngXnz5lG/fv1y28zOzmbixIm4urri6uqKp6cnANu2bSMpKQkHBweCg4N56623jDE6nY4pU6Zw+fJl\n8vLyeO655xgzZgw9evQgLS2NunXrsnbtWtRqNSNHjrzPr0cIIeyYjc+8zFXls9q7dy9t2rRh1apV\njB49mszMTGOh4tWrV7N48WJu3rwJQFBQECkpKfTs2ZMlS5ZU2ObMmTN5/fXXSUpKMtaJvH79OgsW\nLCApKYnU1FRyc3PZs2ePMebSpUsEBgayYsUK0tPTWbduHQ4ODoSFhfH5558DsGnTJl588UWzvhAh\nhKgtDAoHsz+2rMoztv79+7Ns2TJGjBiBSqXi8ccfr7BQcYcOHYA7Ce7rr7+usM0zZ84YK/AHBQVx\n6tQpzp49y7Vr14yV/tVqNWfPnjXG1K1bl8OHD/Pdd9/h7u6ORqMBoF+/fsTGxtK+fXt8fHzw8fEx\n5XsQQghhJ6qcdnfs2EFwcDDJycmEhoaSkZFRYaHiI0eOAHDw4EGaN29eYZv+/v7873//KxXz6KOP\n0rBhQ1auXElKSgqDBw8mMDDQGJORkYFKpWLOnDkMGzaMoqIiDAYDjzzyCCqVisWLF9O/f3/Tvwkh\nhKhtHBzM/9iwKs/YAgICiIuLY9GiRej1eubPn8/mzZvLLVS8ceNGkpKScHV1ZebMmRW2OX78eOLi\n4lixYgXe3t64uLjg7e3N0KFDiYmJQafT8cgjj5R6yehTTz3F2LFjOXToEM7OzjRp0oS8vDx8fX2J\njIwkISGBWbNm3cdXIoQQtYSNX1I0V5UTW+PGjcsst6/oXWuxsbH4+/ub1SZA37596du3b6lto0eP\nNv68adOmctvT6XT069cPpVJ5z76FEKLWq+2JzVwajYbhw4eX2d60aVPi4+Mt1s/cuXPZt28fixcv\ntlibQghh1+w0sdX6IsiPFefgbNDeOwC4HRhmcj8PGTQmx2gcTC9o7KIpMDnG8drZex/0B/oC04s6\nO7i6mRyDgxmzbr3O9BgzObTsWG19idrNmkWQi2+a/v/zXS4e3hYciWXJA9pCCFFb2emMzT7PSggh\nRK0lMzYhhKit7LSk1gM1Y9u3bx9vvvlmme0ffPABFy9eNBZKrug4IYQQv2OlIsh6vZ4pU6YwYMAA\nYmJiyMnJKbV/w4YNhIeHExkZyc6dOwG4du0aw4YNIzo6mjfeeIPbt2+bfVoPVGKryKRJk2jUqFFN\nD0MIIR4o1iqplZmZiUajYf369YwdO5bp06cb9+Xn55OSksK6detYsWIFc+fORaPRsHDhQvr06cPa\ntWt54oknWL9+vdnnZfXEVlhYyJgxYxg2bJhx0DExMUyZMoWYmBgGDx5Mfn4++/btIyIigujoaD79\n9NMK28vJyWH48OGEh4eTlpYGQExMDNnZ2dY+FSGEsC9WmrEdOHCAp59+GoDAwEBjZSmAH3/8kbZt\n2+Ls7IxKpaJx48YcO3asVEynTp3Yu3ev2adl9XtsOTk59O7dm+7du5Obm0tMTAy+vr4EBQURHx/P\nmjVrWLJkCd26daO4uNiYrCpSUlJirH7St29funTpYu1TEEIIu2Sw0j22wsJCYyUqAKVSiVarxdHR\nkcLCQlQqlXGfm5sbhYWFpba7ublRUGD6I0x3WT2x+fj4kJyczPbt23F3d0ervfPMWHmFkps2bXrP\n9gIDA3F2vvOcl7+/P+fPn7fSyIUQwr5Z6ylmd3d31Gq18Xe9Xo+jo2O5+9RqNSqVyrj9oYceQq1W\n4+HhYXb/Vr8UuXLlSgIDA5k9ezahoaHcfR68vELJDlUorPnTTz+h1Wq5desW2dnZNG7c2HqDF0II\nYbKgoCCysrIAOHToEC1btjTua9OmDQcOHKC4uJiCggKys7Np2bIlQUFB7Nq1C4CsrCyCg4PN7t/q\nM7Znn32WhIQEtm7dikqlQqlUotFoyhRKPn78eJXac3FxYeTIkdy8eZPRo0dTt25dK5+BEELYJ72V\npmzdunVjz549DBw4EIPBwLRp01i1ahWNGzemS5cuxMTEEB0djcFg4M0338TFxYVXX32VuLg4NmzY\ngJeXF3PmzDG7/xopqRUTE8PUqVOrVCjZWqSklpTUuh9SUktUF2uW1Cq4Zf6SelUdVwuOxLJs8gHt\nxMRE9u3bV2b7tGnTjO98E0IIcX/0dlopWIoga87jTNVmbMV/7mVyP1WdDf5eicL0f284l6jvfdAf\nOF45ZXKMvvC6yTHmUDiZPmutrhnb5OBXzIqbViyPpAjTWXPGdr3wltmxdd3rWHAklmWTMzYhhBDW\nZ68zNklsQghRS9lpXrOPklpCCCHEXQ9cYiuvfNbPP/9MYmIiAB07dqzwOCGEEL/RG8z/2DK7uBTZ\nqlUrWrVqVdPDEEKIB4q9rh20eGLLyMhg586dFBUVkZ+fz5AhQ9ixYwcnTpxg3LhxXL58me3bt3P7\n9m28vLxITExkwoQJhIWF0blzZ7Kzs5kxYwZLly6tsI/58+fz66+/4uzszMyZMzlx4gTr1q1j3rx5\nlj4dIYSwW/qaHoCVWOVSpFqtZtmyZYwcOZLU1FQSExOJj48nPT2d69evk5SURFpaGjqdjsOHDxMR\nEcHGjRsBSE9Pp3///pW23717d1avXs2zzz7LkiVLrHEKQghh9wwG8z+2zCqJ7e5lQZVKhb+/PwqF\nAk9PT0pKSnByciI2NpaJEydy+fJltFotISEhZGdnc+3aNfbs2cOzzz5bafvt2rUD7tQjO336tDVO\nQQgh7J7cYzOBooJXIZSUlJCZmUlaWhq3b98mPDwcg8GAQqHg+eefJyEhgY4dO+Lk5FRp+4cPH8bX\n15f9+/fTokULa5yCEELYPbnHZonOHB1xdXVl4MCBANSvX5+8vDwAwsPD6dy5M5999tk928nMzCQ5\nORk3NzdmzJjBsWPHrDpuIYQQDw6bKamVm5vLuHHjSE5Orpb+pKSWlNQyl5TUEtXJmiW1zl4rNDu2\nsbf7vQ+qITax3H/79u0sWLCAqVOnAnDx4kXi4uLKHNe+fXtef/31ah6dEELYJ9uY1lieTSS27t27\n0717d+PvjRo1IiUlpXo6N+jufKzVvML09TnV9mfNjLFV10zKUFxkej/mqMLLbf/Ix9n0V+oUavXE\nuzY3OW7K7ZMmxwhRVdZ6H1tNs4nEJoQQovrZZ1qTxCaEELWWrS/bN5ckNiGEqKXs9Epk9RRBzsrK\nYv369ffdzr59+3jzzTfLbP/ggw+4ePEiCxYsIDU1tcLjhBBC2L9qmbF16tTJqu1PmjTJqu0LIYQ9\n0tvpXbZqmbFlZGTw5ptvEhkZadwWGRnJ+fPnWbBgAXFxcYwYMYJevXqxe/fuStvKyclh+PDhhIeH\nk5aWBsgraoQQwhz2WivSJu6xOTs7s3z5cvbs2cPKlSt5+umnKzy2pKSERYsWodfr6du3L126dKnG\nkQohhP2QxSMW9vuCJ3eLJjdo0ACNRlNpXGBgIM7Od56l8vf35/z589YbpBBC2DFbn3mZq9oSm0ql\n4urVq+h0OtRqdamEVFHR5PL89NNPaLVaNBoN2dnZNG7c2BrDFUIIu2ev99iqLbF5eHjQsWNH+vfv\nj5+fH02aNDGrHRcXF0aOHMnNmzcZPXo0devWtfBIhRCidrDXGVu1FEHesGEDly5dYsyYMdbuqsqM\nRZCLc6pcqLi4bZjJ/TiZ8Y7aEjPW9LiYUwT56hmTYwxFZhRNNaekVkmJ6f2Yw4ySWvP/NsrkmEKt\nee8qlpJawppFkH+8eMPs2DaNPC04Esuy+oxt165drF692ljguCoSExPZt29fme3Tpk3Dz8/PgqMT\nQojaS2pFmumZZ57hmWeeMSlm1KhRjBpl+r+KzaLXg6Fq/5qu+p3A3xgcTC+Yq6impUrmFGi2ZQZN\n9RROdnesnu9NCicLa9OZdyHB5tnEcn8hhBDVT2ZsQggh7IqumhNbUVERb7/9NlevXsXNzY0ZM2bg\n7e1d6pgZM2Zw8OBBtFotAwYMIDIykuvXr9OjRw9atmwJQNeuXXnppZcq7EcSmxBC1FLVPWNLTU2l\nZcuWjB49ms8//5yFCxfyzjvvGPd/9913nD17lvXr16PRaOjduzc9evTgp59+ok+fPkyePLlK/VT7\nTZbKCiLfLWJckfHjx5OVlVVqW35+vnFhynPPPUdxcXG5xwkhhChNpzf/Y44DBw4YK0t16tSJb7/9\nttT+tm3bMm3atN/Gp9Ph6OjIkSNHOHr0KIMHD+b1118nLy+v0n6qfcZm6YLI9evXN2nFpRBCCOtL\nS0sjOTm51LZ69eqhUqkAcHNzo6CgoNR+FxcXXFxcKCkpYfz48QwYMAA3NzeaNWtGQEAAf/3rX9m0\naRMJCQnMnz+/wr6rfcZWWUHkqli7di0vvfQSgwcPJicnh/Pnz5dqSwghRNXoDQazP/cSERHBli1b\nSn1UKhVq9Z1nbtVqNR4eHmXibty4wYgRI/D39+fvf/87AB06dCAkJASAbt268dNPP1Xa9wO33jso\nKIjk5GRGjhzJrFmzano4QgjxwNIZDGZ/zBEUFMSuXbuAO7elgoODS+0vKipi6NCh9OvXj3/+85/G\n7e+88w5ffvklAN9++y2tW7eutB+bSGymFD9p164dcOda7OnTp601JCGEsHt6g/kfc0RFRXHixAmi\noqJYv3698XnlmTNn8uOPP7Ju3TrOnTtHWloaMTExxMTEcO7cOcaOHUtqaioxMTGsW7funu/grJFV\nkZUVRL6XH3/8kaCgIPbv30+LFi2sOEohhLBvump+b42rq2u598bGjRsHQJs2bRg6dGi5sSkpKVXu\np0YS2/0URP7hhx8YMmQICoWCadOmmTTbE0II8Rt5QNtCtFotTk5OxMfHl9k3evToSmOnT59e7vYN\nGzYA8PXXX1d6nBBCiN/o7DOvVW9iq0pBZI1Gw/Dhw8tsb9q0abnJUAghhPi9ak1sVSmI7OzsbNK1\nVHtUXf+IUlSx+PPvmTU2MwpBQ/W8tsacwsnVVQRZacILeO+6otEy+SF/k+PeL8o2OUY8+ORSpBBC\nCLtS3YtHqoskNiGEqKVkxiaEEMKu2OviEZt4QLuq7hY5/r27RZV/X1qrvOOEEEKUZs2SWjXpgZ+x\n3S2qbMpD3kIIIUAv99iqrrCwkEmTJlFQUEBeXh7R0dFs27aNqVOn4u/vT2pqKleuXGH06NF89NFH\nZGZm4u3tze3btxkzZoyx2GV5pkyZwoULF6hXrx4zZsxg69atnDp1ioEDB1rjVIQQQjxgrJLYcnJy\n6N27N927dyc3N5eYmBh8fX3LHHfs2DF2795Neno6JSUlhIWF3bPtqKgoAgMDmTlzJhs2bMDd3d0a\npyCEEHbPXu+xWSWx+fj4kJyczPbt23F3d0er1Zbaf7cMVnZ2Nk8++SRKpRKlUklAQECl7To5OREY\nGAjcqRK9Z88ennzySWucghBC2D1bv1dmLqssHlm5ciWBgYHMnj2b0NBQDAYDzs7O5OfnAxjfpdO8\neXMOHz6MXq9Ho9Hc8x07JSUl/PzzzwBSBFkIIe5Tdb+2prpYZcb27LPPkpCQwNatW1GpVCiVSqKi\nonjvvfdo1KgRDz/8MACPPfYYzzzzDJGRkXh5eeHk5ISjY8VDcnJyIiUlhZycHBo1asTYsWPZvHmz\nNU5BCCHsniweMUGHDh3YsmVLme1du3Yt9fvVq1fx8PAgPT0djUZD7969adiwYYXt3n3R3O+Fh4cb\nf/5jMWQhhBAVk3tsVuDl5cWRI0fo168fCoWCiIgIrly5QlxcXJlje/bsSXR0dA2MUggh7JO93mOr\n0cTm4ODAhx9+WGa7PRVBNufPjemlb81jUNjw8/kOZoytmmKqrwiy6UWqNXrTC07/WqJjoovphZOn\nFUvhZGGbHvgHtIUQQpjH1heBmEsSmxBC1FJS3V8IIYRdsdfEZsM3WcoaP348WVlZpbbl5+cb38h9\nt/hxeccJIYQoTac3mP2xZQ/8jK1+/frGxCaEEKLqbD1Bmctqie306dNMmDABR0dH9Ho9c+bMYe3a\ntezfvx+9Xs/QoUPp2bMnMTExNG3alNOnT2MwGJg3bx7169evsN21a9eyYsUKdDodH3zwAUqlktjY\nWOMzbEIIIarGXhOb1S5F7t27lzZt2rBq1SpGjx5NZmYm58+fJzU1ldWrV7N48WJu3rwJ3Kn7mJKS\nQs+ePVmyZEml7QYFBZGcnMzIkSOZNWuWtYYvhBDiAWW1xNa/f388PDwYMWIEa9as4caNGxw9epSY\nmBhGjBiBVqvlwoULwJ1KJXAnaZ0+fbrSdtu1awdA27Zt73msEEKIitnrPTarJbYdO3YQHBxMcnIy\noaGhZGRkEBISQkpKCsnJyfTs2RM/Pz8Ajhw5AsDBgwdp3rx5pe3++OOPgBRBFkKI+2Wvic1q99gC\nAgKIi4tj0aJF6PV65s+fz+bNm4mOjubWrVt07drV+C61jRs3kpSUhKurKzNnzqy03R9++IEhQ4ag\nUCiYNm2a8RU4QgghTGPrCcpcVktsjRs3JjU1tdS2it63Fhsbi7//vUv6TJ8+vdztfyx+XNFxQggh\nfiOJrZpoNBqGDx9eZnvTpk2Jj4+vgREJIYR9ksRmJX8seOzs7FytRZCVDzfGsYp1Y3UOppcn1pjx\nXghnpen9GJROJsfkez9mcow56jqbfitXb0YpaEU1VY/utd/0t7brz1b+Et3yODzkZnKMwsn0Pwc4\nOpvej6MT+pPfmRzn0LyDyTHCerTVnNiKiop4++23uXr1Km5ubsyYMQNvb+9Sx7z66qv8+uuvODk5\n4eLiwvLly8nJyWH8+PEoFApatGjBu+++i0MlBcwfqMojQgghHlypqam0bNmStWvX8sILL7Bw4cIy\nx+Tk5JCamkpKSgrLly8H4MMPP+SNN95g7dq1GAwGduzYUWk/ktiEEKKWqu5VkQcOHODpp58GoFOn\nTnz77bel9l+5coWbN2/yj3/8g6ioKHbu3AnA0aNH+ctf/mKM27t3b6X91PilSCGEEDXDmvfY0tLS\nSE5OLrWtXr16qFQqANzc3CgoKCi1v6SkhGHDhjFkyBBu3LhBVFQUbdq0wWAwoPj/ew3lxf2RJDYh\nhKilrPk+toiICCIiIkptGzVqFGq1GgC1Wo2Hh0ep/T4+PgwcOBBHR0fq1atHq1atOH36dKn7aeXF\n/ZFcihRCiFqqui9FBgUFsWvXLgCysrIIDg4utX/v3r2MGTMGuJPATpw4QbNmzXjiiSfYt2+fMe5u\nBaqKWHzGVlhYyKRJkygoKCAvL4/o6Gi2bdtWptDxqVOnmD17Nk5OTkRGRvLCCy+UaWvfvn0sXrwY\nBwcH8vPzGTBgAIMGDeL7778nMTERg8GAWq1mzpw5fP/995w5c4a4uDh0Oh0vvPAC6enpuLi4WPoU\nhRDCLlT3cv+oqCji4uKIiorCycmJOXPmADBz5kxCQ0N55pln+Oabb4iMjMTBwYHY2Fi8vb2Ji4tj\n8uTJzJ07l2bNmtGjR49K+7F4YsvJyaF37950796d3NxcYmJi8PX1JSgoiPj4eNasWcOSJUvo1q0b\nxcXFpKWlVdpebm4un376KXq9nrCwMEJDQzlx4gSzZs3C19eXxYsX88UXXxATE0N4eDhvvfUWu3fv\nJiQkRJKaEEJUoroTm6urK/Pnzy+zfdy4ccafJ02aVGZ/06ZN+fjjj6vcj8UTm4+PD8nJyWzfvh13\nd3e0Wi1QutDx3QohTZs2vWd7bdu2xdn5znM2LVq04OzZs/j6+vLBBx9Qp04dcnNzCQoKwt3dnfbt\n2/PNN9+QkZHBa6+9ZulTE0II8QCweGJbuXIlgYGBREdH89133xmvpx45coQGDRqUKnRc2QN2d/38\n88/odDo0Gg0nT56kSZMmvPbaa3z11Ve4u7sTFxdnrBcZGRnJsmXL+PXXX3n88cctfWpCCGFXdHp9\nTQ/BKiye2J599lkSEhLYunUrKpUKpVKJRqMpU+j4+PHjVWpPq9UycuRIrl+/zquvvoq3tzfPP/88\ngwYNwtXVFR8fH/Ly8gD485//TE5ODoMGDbL0aQkhhN2RklpV1KFDB7Zs2VJqW0xMTJlCxyEhIYSE\nhNyzPX9/f+bNm1dq24QJE8o9Vq/XU6dOHfr06WPGyIUQonaRxGZFiYmJxqWcv1feSsmKnDt3jlGj\nRhEeHm58HY4QQoiKVXetyOqiMNTSF5oVFxdz5MgRWnmCSxWLDmsaPmFyP+b8wVGaUc1XqS8xOeam\nrorVn3/HjDrQmPP/jrsZhZOri+PNy9XSj/7HnSbHODVuaXpHjqavHjYoTP/vo7t40uQYAOeOkWbF\n2Yu7f1cFBARYfKX3C8tNL2R916cjbLegtU3M2IQQQlQ/e70Uabv/LBZCCCHMIDM2IYSopex1xiaJ\nTQghailJbEIIIeyKJLYKZGRksHPnToqKisjPz2fIkCHs2LGDEydOMG7cOC5fvsz27du5ffs2Xl5e\nJCYmMmHCBMLCwujcuTPZ2dnMmDGDpUuXltt+TExMmQLK3t7eTJkyhcuXL5OXl8dzzz3HmDFj6NGj\nB2lpadStW5e1a9eiVqsZOXLk/Z6iEELYJYOdJjaLLB5Rq9UsW7aMkSNHkpqaSmJiIvHx8aSnp3P9\n+nWSkpJIS0tDp9Nx+PBhIiIi2LhxIwDp6en079+/0vaDgoJISUmhZ8+eLFmyhEuXLhEYGMiKFStI\nT09n3bp1ODg4EBYWxueffw7Apk2bePHFFy1xekIIYZf0eoPZH1tmkUuRrVq1AkClUuHv749CocDT\n05OSkhKcnJyIjY2lTp06XL58Ga1WS0hICAkJCVy7do09e/YQGxtbaft/LKBct25dDh8+zHfffYe7\nuzsajQaAfv36ERsbS/v27fHx8cHHx8cSpyeEEHbJXh9jtkhiU1TwQHFJSQmZmZmkpaVx+/ZtwsPD\nja/4fv7550lISKBjx444OTlV2v4fCyhnZGSgUqmIj48nJyeHDRs2YDAYeOSRR1CpVCxevPies0Ah\nhBD2yaqLRxwdHXF1dWXgwIEA1K9f31iwODw8nM6dO/PZZ5/ds50/FlC+cuUKY8eO5dChQzg7O9Ok\nSRPy8vLw9fUlMjKShIQEZs2aZc1TE0KIB5693mO778QWHh5u/LlTp0506tQJuHN5cuXKlRXG6XQ6\ngoODSxVGrsgfCyh7eXmxadOmCtvt168fSqXp5aKEEKI2sfV7ZeaqkeX+27dvZ8GCBUydOhWAixcv\nEhcXV+a49u3bm9Tu3Llz2bdvH4sXL7bEMIUQwq4Z7PN1bFIE+Qm3YlwcqvYVFPkFm9yPRmf6nxwX\nR9MXqzpoi02OuaEz/d81SjOqIJtRNxmdGX8qVY5mBJlRzNcpr2rvEiylCi/V/SOD0tnkGN3x/SbH\nKFV1TY5RuDxkcoyhuMjkGBzMu/Li2DbUrDhbZM0iyB2nf2127J7xz1lwJJYlD2gLIUQtJZcihRBC\n2BV7XTwi1f2FEELYFasktqysLNavX2+NpoUQQliIQW8w+2PLrHIp8u6SfyGEELZLb6drB62S2DIy\nMti9ezcXLlxgw4YNAERGRjJ37lw2btzI+fPnuXr1KhcvXmTChAk8/fTT5bZzd+m+g4MD+fn5DBgw\ngEGDBvH999+TmJiIwWBArVYzZ84cvv/+e86cOUNcXBw6nY4XXniB9PR0i68iEkIIe2HrMy9z1cg9\nNmdnZ5YvX86kSZNISkqq9Njc3FwWLVrEhg0bSEpK4urVq5w4cYJZs2aRkpJC9+7d+eKLL+jduzc7\nduxAp9Oxe/duQkJCJKkJIUQl5FLkffr943J3iyY3aNDAWMC4Im3btsXZ+c7zPC1atODs2bP4+vry\nwQcfUKdOHXJzcwkKCsLd3Z327dvzzTffkJGRwWuvvWa9kxFCCDsgy/1NpFKpuHr1KjqdDrVazfnz\n5437KiqaXJ6ff/4ZnU6HRqPh5MmTNGnShNdee42vvvoKd3d34uLijEkzMjKSZcuW8euvv/L4449b\n/JyEEMKe2Gt9DqslNg8PDzp27Ej//v3x8/OjSZMmZrWj1WoZOXIk169f59VXX8Xb25vnn3+eQYMG\n4erqio+Pj7Gw8p///GdycnIYNGiQJU9FCCHEA8QqiU2r1eLk5ER8fHyZfaNHjzb+7O/vT0pKSqVt\n+fv7M2/evFLbJkyYUO6xer2eOnXq0KdPHzNGLYQQtYu91oq0eGLbtWsXq1evNhY4rorExET27dtX\nZvsLL7xQ5TbOnTvHqFGjCA8Px93dvcpxQghRW1X3PbaioiLefvttrl69ipubGzNmzMDb29u4Pysr\ni2XLlgF3LpMeOHCALVu2UFxczN///nf+9Kc/ARAVFUWvXr0q7EeKIJtQBLm4sTlFkE3/ep3MKDSs\n1JeYHHNTZ3qBWScbrlVjTuFkdwedyTGOV06ZHGNQVtM6LQfT+9Fn/8/0buqoTI/xrGdyjDnnY9Dc\nNr0fQPl4+Y8d1TRrFkEOeGuL2bFHZpt+ZWzVqlUUFhYyevRoPv/8c/73v//xzjvvlHvs8uXLuXnz\nJrGxsaSlpVFQUMCwYcOq1I8N/zUlhBDCmqp7uf+BAweMzy136tSJb7/9ttzjLl++zGeffcaoUaMA\nOHLkCP/5z38YNGgQEydOpLCwsNJ+pAiyEELUUtasPJKWlkZycnKpbfXq1UOlujPbd3Nzo6CgoNzY\nVatWMXToUOOjXm3atCEiIoKAgAAWLVrERx99VO47PO+SxCaEELWUNR+0joiIICIiotS2UaNGoVar\nAVCr1Xh4eJSJ0+v1/Oc//+HNN980buvWrZvx2G7duvH+++9X2rfVL0VWVhB5wYIFpKamWnsIQggh\nbERnRPkAACAASURBVEBQUBC7du0C7uSG4OCy6xaOHz9O06ZNeeih315mO3z4cH788UcAvv32W1q3\nbl1pP1afsUlBZCGEsE3VXRorKiqKuLg4oqKicHJyYs6cOQDMnDmT0NBQ2rRpw+nTp/Hz8ysVN3Xq\nVN5//32cnJzw8fG554zN6omtsoLI9zJ+/HgMBgOXLl3i1q1bzJgxA39/f+bMmcORI0e4fv06jz/+\nOB9++CEDBw7k/fffp0WLFuzatYudO3ea9MiBEELUNtW93N/V1ZX58+eX2T5u3Djjzz179qRnz56l\n9rdu3Zp169ZVuR+bXxXp5+fH6tWrGT16NLNmzaKwsBAPDw9WrVrFJ598wqFDh8jNzSUiIoKNGzcC\n8Mknn5S5tiuEEKI0g8Fg9seW1UhiM+VL6dChA3CnGPLp06dxcXHh2rVrxMbGMmXKFG7dukVJSQk9\ne/bk66+/5urVq+Tm5t7zGqwQQtR2Ut3/PlRWEPlejh49Srt27Th48CAtWrQgKyuLS5cu8a9//Ytr\n167x1VdfYTAYqFOnDiEhIXzwwQc8//zzVjwbIYSwD1Ld/z7cT0HkrKwsduzYgV6v58MPP+Shhx5i\n4cKFDBo0CIVCgZ+fH3l5efj5+REZGUl0dLTcWxNCiCow6E2vvPMgsHpiq2pB5Iq89NJLZVZWfvLJ\nJ+Ueq9Pp6NGjR7nPRgghhKgdrJrYqlIQWaPRMHz48DLbmzZtalJfH3/8Menp6fzrX/8ydZhCCFEr\n2euMrdYXQW7lervKRZA1f2pvej9a098L4eJo+poeB53pRZAL9aYXQXY0o0CzLTPnj7/qynHTOzLh\n5brGEDP+mxqUTmbEmP7vW93xAybHOLZoa3KMoqTY5BhzvgMczFtHp/R70qw4U1izCHLjoZW/Nqwy\nZ5NiLDgSy5KSWkIIUUsZdPY5Y5PEJoQQtZS9XoqUxCaEELWUJDYhhBB2xV4Tm82X1BJCCCFMYbEZ\nW2FhIZMmTaKgoIC8vDyio6PZtm0bU6dOxd/fn9TUVK5cucLo0aP56KOPyMzMxNvbm9u3bzNmzBhC\nQkLKbbdXr160a9eOEydO4Onpydy5c9Hr9WX6CgsL48UXX+TLL79EqVQya9YsWrduTa9evSx1ikII\nYVfsdcZmscSWk5ND79696d69O7m5ucTExODr61vmuGPHjrF7927S09MpKSkhLCys0naLiooICwuj\nffv2zJw5k/Xr1/OXv/ylTF/R0dEEBwfzzTff8Le//Y2srCzGjBljqdMTQgi7I4ntHnx8fEhOTmb7\n9u24u7uj1WpL7b/7vFB2djZPPvkkSqUSpVJJQEBA5QN0dKR9+zvPjwUFBZGVlUWvXr3K7SsiIoKU\nlBT0ej1//etfja8VF0IIUZbeThObxe6xrVy5ksDAQGbPnk1oaCgGgwFnZ2fy8/MB+OmnnwBo3rw5\nhw8fRq/Xo9FojNsrotVqOXbsGAAHDhygefPm5fYF0K5dO86dO0d6ejr9+/e31KkJIYRdMuh1Zn9s\nmcVmbM8++3/tnXlYVPX+x9+jMIAK4oZiQgqi3iwKwdA0vSqmICICg8mSddFcKVkEtKQgFZcwS0XU\nB0GRRRBJTJNEu+Jy8xpmbvnrCrihgjKgCcgwzPz+wHNiYM4KIsv39Tw+T8x8v2dpZs77nM/y/k7A\nqlWrcOTIERgaGqJz586YPXs2IiIi0L9/f5iYmAAAhg4divHjx8PT0xM9evSArq4udHTYD2Pnzp24\nd+8e+vfvj4CAAFy4cKHRvhQKBaRSKaZPn46jR4/CysqquU6NQCAQ2iWtXaDE0mzCNmrUKPzwww+N\nXndwcND4u7S0FEZGRti/fz8UCgWmTZsGU1NT1m2vWbNGw0qGaV9AnREyWWSUQCAQuCHOI81Ejx49\ncOXKFbi7u0MikUAmk+HRo0cIDQ1tNLbh8uBchIWFoaSkBLGxsc11uAQCgUBoYxATZL2n/E2QLUYJ\n3o+iVvj/Xmln4Ya57c0EWcxuxByZmC9/l+I/RMwSjkQt3EBbLRGRNhcxR6VvKHhO58oywXNEGRq3\nFC1knPwiTZB7Tm28nBhf5EfDm/FImhfiPEIgEAgdFJJjIxAIBEK7gggbgUAgENoVapXwcHdbgAgb\ngUAgdFDIExuBQCAQ2hVE2DgoLCzE8uXLoaOjA5VKhejoaCQnJ+PXX3+FSqXChx9+CEdHR/j6+mLQ\noEEoLCyEWq3GN998gz59+mjdZlhYGNRqNe7fv4/KykqsW7cOlpaWiI6OxpUrV1BeXo5hw4YhKioK\n77//Pr766itYWVnh5MmT+Pnnn/Hll1821+kRCAQCoY3QbJZaZ8+ehbW1NeLj4+Hv74+cnBzcvXsX\nKSkp2LNnD2JjY/HkyRMAdZ6PiYmJcHR0xPbt21m3a2Zmhj179sDf3x8bNmzA06dPYWRkhPj4eGRk\nZODixYsoLi6GTCZDZmYmACAjI4M0aRMIBAIHKlWt6H+tmWYTNg8PDxgZGWHu3LlISkrC48ePcfXq\nVfj6+mLu3LlQKpUoKioCUOccAtQJXGFhIet2qbE2NjYoLCyEnp4e5HI5AgMDER4ejsrKStTU1MDR\n0REnTpxAaWkpiouLMXz48OY6NQKBQGiXqGtrRf9rzTSbsB0/fhy2trbYvXs3pk6digMHDsDe3h6J\niYnYvXs3HB0dYWZmBgC4cuUKAODChQsYPHgw63avXr1Kj7WyskJubi7u37+PjRs3IjAwEM+ePYNa\nrUaXLl1gb2+P1atXw8XFpblOi0AgENotxASZg9dffx2hoaHYtm0bVCoVvvvuOxw6dAheXl6orKyE\ng4MDunXrBgDIzMxEQkICDAwMsH79etbt5ubm4vjx41CpVIiKioK+vj5iYmLg7e0NiUQCMzMzlJSU\nwMzMDJ6envDy8iK5NQKBQODByxKoY8eO4ejRo4iOjm70XlpaGlJTU6Gjo4OFCxdiwoQJkMvlCA4O\nxrNnz2BiYoKoqCgYGBgwbr/ZhM3c3BwpKSkarzGttRYYGAhLS0te250zZw7GjRun8VpGRobWsbW1\ntZgyZQqMjIx4bZtAIBA6Mi9D2FatWoXTp0/jH//4R6P3Hj58iMTERGRkZKC6uhpeXl4YM2YMYmJi\n4OzsDDc3N+zYsQP79u3Dhx9+yLiPl17ur1Ao4Ofn1+j1QYMGCdrO3r17sX//fmzatInXeMoiU6GW\nADx7FGsUCkHHBAA1IrwiIcorUsk9qAE1auFfarWEeEVWi/lMRSARsRu1mEki5qiVwr87nURcQ9Wi\nPqEWQqTNbufqakHjFc+vO+3F1nfEiBFwcHDAvn37Gr136dIl2NjYQCqVQiqVwtzcHNevX0deXh7m\nz58PABg3bhw2btzYuoQtMTFR42+pVNroNTH4+PjAx8eH9/iamjrT4HxFV/47+d//hB4WgdAEWuYm\ngvednQZ/iZgj5nxacy5H5LGVXhE1raamBvr6+uL2yUB13s5m3V590tPTsXv3bo3X1qxZAycnJ5w7\nd07rnKdPn8LQ8G+D7a5du+Lp06car3ft2hV//cX+/XvpT2wvi65du2LIkCHQ1dWFpIWeQggEAkEo\narUaNTU16NpVwE14K0Amkwluu+rWrRsqKirovysqKmBoaEi/rq+vj4qKCs50U4cVtk6dOmncGRAI\nBEJrpbmf1For1tbW2LRpE6qrq6FQKJCfn48hQ4ZgxIgROHnyJNzc3JCbmwtbW1vW7XRYYSMQCARC\n6yA+Ph7m5uaYNGkSfH194eXlBbVajYCAAOjp6WHhwoUIDQ1FWloaevToobWasj4ddqFRAoFAILRP\nmq1Bm0AgEAiE1gARNgKBQCC0K4iwEQgEAqFdQYSN0OqJi4uDXC5/2YdBaIMoRJgqENo+pCqyCRQX\nF6Nv377031evXm1VqwrcvHkTt27dwtChQ9G3b98X0q939OhRODg4QEeH31fJzc0NLi4ucHV1hbGx\nMa85Xbp0weLFi9GnTx+4u7tj3LhxvM7l8uXLeOONN3jtgyIuLg4zZ85Ez549Bc17UQQGBjKeK1Nl\n2OnTpxm3N3bsWMb32ERAKpUyvicWhUIheLtCPx93d3eMGjUKMpkMQ4YM4TUnMjISMplMq+UTG0J/\nC4QXB6mKfE5kZCTCw8Ppv0NCQjgNmp2dnREWFoaxY8di165dyMrKwvfff886h7qwqNVqPH78GGZm\nZvjxxx+1jmXblqurK+t+9u7di2PHjuHx48dwdXXF7du3Nc5PG2JE5+uvv0Zubi7GjBkDDw8PTg/Q\nJ0+e4NChQzh06BBMTU0hk8nwzjvv8NrX//73P8TGxiIvLw/u7u744IMP0L17d8bxAQEBKCoqgouL\nC1xcXHh5iKakpCArK4uXiIoRHbZlmrTZyP33v/9lHP/2229rfX358uWMc6KiohjfmzhxIiQSSSPr\nJolEguPHj2udI1ZEAWD69OmCRUfI5wMAKpUKp06dQkZGBsrKyuDi4gInJyfWZufc3FxkZGSguLiY\n/u5QBu5sCP0tAOJFlMBOhxe2pKQkbNu2DeXl5fTFXK1WY/DgwY3sYBpSWlqKZcuWQS6Xw87ODiEh\nIYLuQIuKirBlyxbGiw11cbx48SIMDAxgY2ODy5cvQ6lUYseOHazbnj17NpKSkjBnzhwkJibC3d2d\n0TyaQqzoqFQq+mLw8OFDeHp6Yvr06dDV1WWck5+fj5iYGJw9exYDBgzAxx9/jMmTJzMe1+HDh3Hw\n4EEYGhrC09MTtbW1SEhIQGpqKuuxPX78GD/88ANycnLQs2dPeHp6wt7envOc+IioGNHx9fXV+rpE\nIsGePXsava7NT49i1qxZWl9vyScvsSIKiBMdCiE3OWq1Grm5udi/fz9u3bqFLl26wNnZmdOCTy6X\nY/Xq1Thx4gSmTJmCRYsWwdzcnPOchPwWxIoogZ0O/8zs7e0Nb29vxMbGYsGCBYLmXr9+HQ8fPsSI\nESPwxx9/4MGDB5xf/Pq88sorKCgoYHw/KCgIAODn56chZP/61784t61WqyGRSOi7WT4XNCMjI3h7\ne2PUqFGIiYlBUFAQp+io1WqcPn0a33//Pf10VFZWhgULFiAuLq7R+KSkJBw8eBDdunWDh4cH1q5d\nC6VSCU9PT8Z9eHh4wMXFBRs3bkT//v3p1//44w/Oc3r06BHu3buHsrIyWFpaIjs7G+np6fj666+1\njm8oop999hlqa2sxf/78RiLK9vTFJGxCfVEfPnwoaDwATJ06tdFTDPV9YHryAuqEkunph+kGIiIi\nQvDxUXTq1IleuWP//v20qzub6Aj5fABg/fr1OH78ON5++23MmzcP1tbWUKlUcHNzY9xHfn4+Dhw4\ngJ9//hlvv/02kpKSoFQqsXTpUhw4cIDxfIT+FoA6Q99x48bRIrphwwbeIkpgpsML288//4wJEybA\n2Ni40d0x0x0xxebNm7F9+3b0798fFy9exOLFi3Ho0CHWOfXDVyUlJejVqxfnMcrlcjx58gRGRkYo\nKytDeXk555xp06bB29sb9+7dw7x58+Dg4MA5R4zovPfee7Czs4Ovr6+Gzc2NGze0ji8pKUF0dDS9\n6CwA6OrqIjIykvG4srOzNS64JSUlMDExQUBAAOv5yGQy6OvrQyaT4dNPP6XFXdtqEhRCRFSM6LCF\n57SF9Tw8PNCvXz/Olebrc+LECcHHBQAbN24UPEesiALiREfoTc7AgQNx4MABjafATp06YcuWLYzH\n9fnnn8PT0xNLlizRWPPL3d2d9XyE/hYA8SJKYKfDhyIzMzMxc+ZMrV/0JUuWsM6tra1FVVUV7t69\nC3Nzc6hUKs4wQv3wlZ6eHl5//XV07tyZdU52djbWrVuH7t2746+//sLKlSsxfvx41jlA3Y/mzz//\nhIWFBYYOHco5/ptvvoGHh4eG6ADAb7/9BhsbG61znj59qnHONTU1rCHIsrIynDlzBkqlEmq1GiUl\nJfRyFEx8++23SElJQU1NDZ49e4aBAwfi8OHDnOdz8+ZNDBw4kHNcfaiLMgUlotp48OABo+gIXXaJ\niaioKCxfvhy+vr70cVHHqC10CfydL9b2BMYWuk1PT4dMJkN0dHSjeYGBgU08k8akpaVh2rRpjUKP\nd+/exYABA7TOEfL5AHXfgezsbHo1j5KSEtabqPrbrf8dZfr+10fobwGoSxl4enpi6tSpGiKalJQE\nb29vzn0StNPhhY1CqVTixo0bGvkJa2tr1jnZ2dnYtm0bamtr6TvXRYsWaR3blEIQ6vgePnyI3r17\nc/5YgMa5D11dXfTr1w/e3t6MuQgxopOamor4+Hh6jo6ODn766SfG8T4+PrCwsMCff/4JPT09GBgY\nIDY2lnUfM2bMQHp6OtasWYOPPvoIERER2LVrF+scADh+/DiSk5NRU1MDtVqN8vJyzidqISIqRnRi\nYmKwaNEirYUnXP53crkcRUVFePXVV1kLYR49eoTevXujqKio0XuvvPIK47xTp07h3XffRWZmZqP3\nZs6cqXWOWBEFxImO0JscDw8PTJ48GefOnYOJiQkqKyvx3Xffse5jxYoVuHjxIqqqqlBVVQVzc3Ok\npaWxzgGE/xYoxIgogZ0OH4qkmD9/PhQKBX3BkEgkrOEKoM64My0tDX5+fli0aBHc3d0ZhS0/Px8A\n8Pvvv0NfX1+jEIRL2M6fP4+IiAhaQPv378+5HER1dTXMzMxgZ2eH33//HZcvX0bPnj0RGhrKKCT+\n/v6NRIeLpKQkJCYmYtu2bZg6dSpnwY1arUZkZCSWL1+O1atXw8vLi3Mfffr0gVQqRUVFBV599VX6\nQsjFpk2bEBkZidTUVNjb2+Ps2bOcc06cOIHc3FwNEWWCunlITEzkLToTJ04EALz//vu8zoEiIyMD\nO3fuhKWlJQoKCuDv7w8nJyetY3v37g2grpBh/fr1uHnzJqysrLBs2TLWfbz77rsAACcnJ6SlpdHz\n2L5r1PddTBgzODgYkydPxoULF2jR4ULI5wPUtYrMnz8fN2/eRFRUFK/v2/Xr13H48GGEh4cjICAA\nn376Ka/zEfpbAMSLKIEd0qD9nOrqaiQmJmLr1q3YunUrp6gBQOfOnSGVSukiDTYhCAoKQlBQEHR1\ndbFjxw4sXLgQMTExUCq5V77etGkT9u7di969e2PBggVISUnhnCOXyxEQEIB3330XS5YsQU1NDZYu\nXcq6QB8lOoMGDUJ8fDyvXJ6JiQlMTExQUVEBe3t7zgUAO3fujOrqalRVVUEikaC2lnuxxn79+mH/\n/v0wMDBAdHQ0njx5wjmHOjbq7tfNzQ3FxcWcc8SIaEZGBry8vBAbG4tZs2bhyJEjjGOHDRsGALCy\nssKJEyewa9cunDp1irPcOyUlBQcPHsTWrVuRkZGB+Ph4zuNasWIFPDw8kJycDGdnZ6xYsYJzDgCE\nhYWhuLgYo0ePxq1bt1jn1RfRtWvXYsGCBYiOjkanTtyXFkp0+vbti7Vr1+LRo0ecc4R+PhKJBA8f\nPkRFRQUqKyt5iWePHj0gkUhQWVkpqJ9R6G8B+FtEx44diyNHjkBPT4/3/gjMEGF7jp2dHU6dOoV7\n9+7R/7iwtbVFUFAQiouLER4ezqsZmCoEAcC7EKRTp04wNjaGRCKBnp4er3Lop0+f0k+J+fn5qKio\nQFlZGesPW4zoGBoaIicnBxKJBKmpqZzn4+3tjYSEBIwZMwbjx49nzKXUJzIyEqNHj0ZISAhMTEx4\nPx3o6uri/PnzUCqVOHXqFMrKyjjniBFRMaITGhoKc3NzLF26FH379kVoaCjreGNjY7rxV19fn1dP\nXufOnTF+/HgYGhpi4sSJUKn4rZT96NEjBAcHw8HBAaGhoVpDmg0RI6JiREfo57NkyRIcO3YMM2bM\ngIODA0aPHs25j+HDhyMuLo4uUHr27BnnHED4bwEQL6IEdkgo8jmlpaVYs2aNRiiSK0fg5eWFnJwc\nWFhY4MCBA9i8eTPnfhYuXAhXV1f6jnblypWcc8zNzREdHY3y8nLs2LFDoxqMifDwcCxbtgwlJSUw\nNTXFypUrceTIEdaWhoaiw7WYHwCsWrUKt2/fRmBgIOLj4/H555+zjp8yZQr9346OjqzFNtp6uKRS\nKX799Vdeza8REREoKCjAwoUL8e2332LhwoWccyIjI3H//n1MnToVmZmZvERUjOhUV1fTYbFhw4Yh\nOztb6zgqFyeXy+Hm5oY333wT165dY114kqquNDAwwM6dOzFy5EhcunSJfrpigsovDxgwAJcuXYK1\ntTWuX7/OqwCHElGgLtzKJwzXUHRmzJjBOScyMhIPHjygPx+uvOTIkSNhaWmJO3fu4MiRI7yMBwID\nA+nVmk+ePMmZa6dYtWoV7ty5w/u3AIgXUQI7RNieU1BQwOgAwkRwcDCWLFmC5ORkBAYGIioqirNP\nydjYGAYGBlAqlXB0dERJSQnnfiIiIpCeng5bW1t06dIFX331Feecq1evoqKiAlKpFKWlpQgODuZM\nZAsRnYal6XK5HGPHjmUMDYnpkRJTTg9o9pf169cPAHdVnxgRFSM61LH16NEDP/74I+zs7HDp0iXG\nJ1dtuThnZ2f6v4uKihoVhFDFFMbGxigoKKB7Jbl6GakCKLVajXPnzkEqlUKhULCGx8SKKCBOdMrK\nyrBr1y46/9enTx/W8UlJSdi9ezesrKxw48YNLFq0iFNACwsLNXKTfCqKAUBHRwfnzp1DYWEhrKys\nMGLECM45YkWUwA6pinxOZGQkXFxc8Nprr9GvcV0IfH19kZCQAD8/PyQkJGDOnDmcd6re3t7YunUr\nPvnkE+zcuROzZ89m7FehvA619TfxsSuKi4vTSGTHxMRoHStGdIQ6TrCFs9gq9SjOnj2LO3fu4M03\n38SgQYNYL7ZC3T0AsOZUmdo+uJxHtImOmGNj44MPPhA874svvhDVWJ2amtpIaJviPCJGdHx9feHo\n6IgRI0YgLy8Pubm52L59O+N4V1dX7Nu3D3p6eqiqqoKPjw+nA4+npycWL15M7yMuLo5XY/2iRYtg\nYWGBt956CxcuXEBJSQmjEQBFQxENDQ3l9XsgsEOe2J5z/vx5/Pvf/6b/5tNgqlQqsWHDBtjZ2eGX\nX37hVWhA5csAcObL/vOf/+CNN97QWs7MJWwNE9lsF24xFW31L1qFhYW4ffs2hg4dythTRP1Yi4uL\nsWHDBsjlckydOhVDhw7l/CFv3LgRDx48QH5+PqRSKXbs2MF6zPUvQn/99ReKiopgZmbG+v+6vng1\nFFEmmNxFKJYvX95IdLgukFu2bOHsn6yPmPtSIc3e9Tly5EgjYeMSLzYRTU9Px6FDhzREh084sn4I\n9+jRo6xje/XqRfeJ6uvr83oqNDAwoMOq//znP3nlTAGgvLwcwcHBAAAHBwdeFZihoaEaIhoWFibY\nnYbQGCJsz+Hqb9JGVFQUzpw5A5lMhpycHKxbt45zjpB82ccffwwA6N69O8LCwgQdm5BEdlNEp77Z\n8syZM3Hr1i1Ws+WVK1fio48+QkxMDOzs7BAWFsZZ3pyXl4ekpCT4+vpi5syZvKpCAWF9hhRCRZQN\nMaLD9hSojRexYgMTzS2iYkTHwsICWVlZsLe3x9WrV2FsbEzvQ9tNiFqthqurK2xsbHDt2jUolUra\nqo4pP2dqaoqYmBiMGjUKV69ehVQqpaMmbDeUgwcPRl5eHmxtbfF///d/6N+/P91DyRT9ESuiBHY6\nvLBRDabachlcxSMDBw6kE+tMPUUNqZ8vMzAw4JUvu3HjBm2pxRehRR2AONE5fPgwbbY8Z84cTtuh\nZ8+eYfTo0di2bRssLCx4lTfX1taiurqartTkU0oOCOszpBArotoQIzqtOTPQ3CIqRnSonGF6ejr9\nWnh4OGMot36x1PTp0+n/ZguNSyQS3LlzB3fu3AFQ19JARU3YhC0vLw+nT5+Grq4uHb2ZMmUKa/RH\nrIgS2OnwwlZbW9vIdw54cXfCOjo6mD17tqA5BQUFGDVqFF0aDLAvFwIA3bp1o/OFfJ/2xIiOULNl\nPT09nDp1CiqVChcvXuRlzjxnzhy4ublBLpdDJpPhww8/5HU+QvoMKcSKaHMh9HvXmoWQCzGiwxSm\nY6pIZgoXf/DBB4xuKkzh1S+++ILxuAAwOqCw3RyJFVECOx1e2N566y0Azeft9yJYvXo1r/6bpiJG\ndJydnQWZLX/11VdYt24dXd325Zdfcu7D0dER77zzDm7duoUBAwbw7vextbVFYGCgoD5DsSKqjZYQ\nnVGjRgmeI/a4mvt8xIgOE+fPnxc0viVzkz/++CPjzaxYESWw0+GFTegP6GWwZcuWFhE2MaLj4+OD\n0aNH488//8SgQYNoZw0m+vXrh2+++YbX8TSl4g6oK6XOzc3Fa6+9BktLS0yYMIFzjhgRzcrKgouL\nS6PXm1N0zpw5g/j4eA0v0z179mDx4sWNxnKt4cbls9lQJHR0dGBqasppyaUNMQLSEnNaMkzckiJK\nqKPDC1tbQCKRYPHixRg0aBAdGnsRbutCREdblWV+fj5ycnK0VvVRYZWamhpUVVXB1NQUxcXF6Nmz\nJ+MyK1TeMiUlBTY2NhgxYgQuX76My5cvsx5bQ8Pp3r174/Hjx/j+++8ZfTmbIqJpaWlahU2b6FDM\nnz8fMpkMEyZM0FjdgWnV9qioKKxYsYLuy2ODq/+Py0R706ZNePToEYYPH45r165BV1cXCoUCHh4e\njH1WpaWl2LZtG122vmDBAnTv3p2XWXVDxIhOSxTRiN1He8u1tgWIsLUBuAoymooY0aEacHNycjBg\nwABadO7fv691PJUTDA4ORlBQEL0PNtGgTHnj4+Mxb948AHXhxY8++oj1fCgrMW0rjzMJm1gRBeoc\nO1xdXTVuPLgcMUJCQpCRkYHNmzdj7NixkMlkGDhwIExNTbWONzU15bWaOfB36wIfWzht6OvrIysr\nC3p6elAoFPD398fmzZvh4+NDfw4NWbp0KRwdHeHh4YG8vDyEhIRg+/btvFaieBm0duFoyWrXZfny\npAAACA9JREFU9ggRtjbA9OnT6QsztbRFcyJGdKgq0p9++okOWbq4uHCKzt27d+mLd9++fRmFsD6V\nlZV0T99vv/2G6upq1vFiVh4XK6IA6N4lIVhaWiIkJIReOdnZ2RkjR47Ep59+Sud969OrVy+Eh4fj\ntddeoy96XAvhBgQEQCKRQKVS4e7du3j11Vd5VXmWlZXRhUNSqRRlZWWQSqWcXpNC+svYaIlQZFvO\nTRK4IcLWBqDc+UtKSlBbWwsTExMNW6XmQozolJeX4/bt2zA3N0dBQQGno7mlpSWWLVsGa2trXLx4\nEcOHD+fcx+rVq7FhwwbaqohPvyAgbuVxoSJKnVPDMBwXJ0+eRGZmJvLz8zFjxgysWLECSqUS8+bN\nQ1ZWVqPxlOUWHwd8ivq5tidPnvDyJQWASZMmYfbs2bC2tsbly5cxceJEJCcnw8rKinGO0P4yQFxu\nUmgItyPlJgl/Qyy12gCzZs3Cvn378Nlnn9G9Zk3pr2Lis88+g0KhoEWne/furM3WAPDrr78iIiIC\ncrkcffv2xZdffsnqd6dSqXDs2DHcvHkTlpaWdBWlNvspLrisoaiVx42NjekLO9fK4/n5+RoiGhoa\n2mhF8Yb4+vrCyckJNjY2vGyegLqnylmzZjWqDDx27BgmT57caLy2sCIfM2wKtVoNd3d3Rvu2hly/\nfh0FBQUYPHgwhgwZArlcrtFu0hAxVmE+Pj7Yu3cvvxN4Tn5+PjIyMnDmzBmNEC4T1EoD9XOTFhYW\nWseKsVWrj7e3N2NukimEy5Sb5LP6NoEZImxtAMqDMjAwEBs3bsTs2bNfiLA1p+gItYYS43nIZ45S\nqYRcLtdwudDmecgFm4j6+vpq9Fc1/FsbNTU1uHLlikZ4me0pnPLzFBJWrO8BWlpainfeeYeXR6S2\nCzyfz5KvfRmFp6cnFAqFoNwkBRXCzc7OZg3hzps3Dzt37uS1TQqxNxF+fn6IiYnRmptkMjoQ6n1J\n4AcJRbYB3nvvPWzduhXDhg3DrFmzeDUai6FTp04aDv8U2jwPuRBqDfWi7q90dHQa+Vdq8zzkgq38\n2sLCAgcPHqTdI/iE4fz9/QWFl4WEFdPT0yGTyTRuRoYOHQojIyNs3rwZY8aMYXWepwqD1Go1rl27\nxmsdNzH2ZWJyk0JDuB0pN0n4GyJsbYB+/frh9OnTqKmpgb6+vkZuoSVorX1FYmluES0oKEBhYSHt\nGq9QKFhtnoC6i2DD8DJfDA0NaacKbVBhN6ogpj5KpRJffPEFqzdqQ9GfO3cu5zGJsS8Tk5vMysqC\nl5dXoxCuv7+/1vHtMTdJ4IYIWxtg/fr1iIyMRPfu3V/K/ltrX5FYmvvYnJyckJCQQPsD6ujocK59\nR63ZVlVVxbp+G4W2sCITlKAxmQ8wrcBAUf/ptKSkhFfbgBj7sqVLl8LJyalRiwAba9euxZUrV3D+\n/HmNEK62vCQAuLm5cR4HG1w3EfVZvHgxJk2ahIKCAri7u9O5STYLPaHelwR+EGFrA1hZWcHe3v5l\nH8YLpaUcKl4EycnJSExMpNe+43NB4htebmpYURtcBTTUhRWos1njEzK0tbVFUFCQIPsyAPRFn28Y\nTmgIV0xYUchNRH3q5yYLCgrw008/ceYmExMTBecmCdwQYWsDTJo0CbNmzdKo5uJjKdVcvKy+oqaW\nXzPR3OcjZO07Cr7h5aaGFcXQ8Al07dq1mDhxIuscLy8v5OTkwMLCAgcOHGA0Ja6PmNyk0BBue8xN\nErghwtYGSExMxNy5c2FoaPhC99Pa+oqaag0lpq9IjDWUkLXvKPiGl5saVhRDwydQrlXhgbpCkCVL\nliA5ORmBgYGIiorirAwVk5sUGsKtT3vJTRK4IcLWBujduzfv9d6aghjPQ6HWUEI8D5tqDSXG81CM\nNZSYte+aK7zMFVYUg5gnUIlEgpEjRyI2NhbTpk3jXMcPEJebFFoh3B5zkwRuiLC1AfT19eHn56dR\nsvwiTJDFeB4KtYYS4nlIIbb8WoznISC8/FrM2ncvO7zMhpgnUKVSiQ0bNsDOzg6//PILLVZsiMlN\n8g3htvfcJIEdImxtAD7LrTQHrbWvSGz5tZi+opYqv26p8LIYxDyBRkVF4cyZM5DJZMjJyeFleybm\nyZBvCLc95yYJ3BBhawO01JpxrbWvqD5Cyq/F9BW1VPl1S4WXxSDmCXTgwIG0tRXf8xLzZMg3hNue\nc5MEboilFoFGjOehUGsoMXZFYq2hAOGeh4BwaygxfPLJJ6ioqHjh4eXWzNOnT3H79m306tUL8fHx\nmDBhAqdoZWZmIjU1tVWGcP38/BAXF4eQkBCsX7+el7War68vEhIS4Ofnh4SEBNo+j9A0yBMbQYPW\n1FfU1DyJmL6iliq/bqnwcmtGzJNhaw7htlRuksANETYCTWvrK2pqnkRMX1FLlV+3VHi5vdGaQ7gt\nlZskcEOEjUDT2vqKmponEdNXRMqvWzctVSEshpbKTRK4IcJGoGltfUVccJVfi+krIuXXrRsSwiXw\ngQgbgaat9RVxIaaviJRft25ICJfAByJsBBrSV0TKrwmE9gARNgIN6SsSZw1FIBBaF0TYCDRiqrqa\nyxqqtXgekvJrAqHtQ4SNQEP6ikj5NYHQHiDOI4Qm8fHHH2PHjh0v+zC0IsbZgkAgtH2IsBGaBLGG\nIhAIrQ0SiiQ0CdJXRCAQWhvkiY1AIBAI7YpOL/sACAQCgUBoToiwEQgEAqFdQYSNQCAQCO0KImwE\nAoFAaFcQYSMQCARCu+L/ATYXXgd7BdD9AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1046cb828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# get features from column names...\n",
    "rank2d(X);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b289ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# raw numpy version\n",
    "rank2d(X.values, features=features);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nDAZkZ2dj165dGDNmzC3vP3ToEJYuXVpqX7du3Ur9LG/2yy+/YNOmTXjmmWcqPYbrLBaL/e9Hq1at\nMHz4cGRkZHANz1FcOe2x2Wzi66+/FqmpqWLKlCkiNTVVfPXVV1Wavi5atEh8/fXXVRqnuLhYrFq1\nSly+fNm+78yZMyI5ObncGKvVKr755ptS+z777LNS36Miq1atqvCU1I3MZrPYs2eP+Omnn4TZbBbL\nli0TFoulwpgdO3aIOXPmiMTERPHmm2+KTZs2Vfj+66fwlCguLhYbNmwQhw8fFr///rtITU0V6enp\nwmQyVXgsS5cuFTNmzBCZmZmipKRE7N69u9Rpg7KU97Oq6PRhSkqKCAsLE2lpabds5bnx1GJOTo54\n5plnxMWLFys8tWk0Gu3H9uSTT9r3DxgwoNyYNWvWiIEDB4qff/5ZnDhxQvTt21ecPHlSnDx5stLc\nbv5ZVHQ69HregwYNKrU/Ojq6wpiLFy+KpKQk0atXL7FgwQKxf/9+UVhYWG5MTEyMEOLav9mePXve\nMn5Zbj6O6zmWl5vRaBQ7d+4ste+HH36ocAwhhBg6dKjYs2dPhe+5UUxMjDh48KD963Xr1omYmBjR\nu3fvKn8PKp9LiwjRde78AWI0GsWPP/4ohBDi1KlTQgghjh07VuEHtRBC5OfnixdeeEEcOXKkwkJw\nXUhIiFi8eLEYOHCgyM/PF0IIsXfv3grHiYuLE19++aVYvHix+M9//iMuXLggVq9eLZ5//vlyY27M\npaCgQHz88cdi5MiRolevXuXG9O3bV2RnZ4vVq1eLjh07isOHD4s//vijwtz69OljX/PcuXOnGDJk\niLhw4YJ49tlny3z/8ePHxbBhw0RoaKgICQkRXbp0EcOGDSv1+yrLuXPnbinOZrO53PcfOHBA9O/f\nX5w9e9a+77PPPhMdO3ascByqGhYR+ltc/wAJCQkR//znP0VoaKgYNmyY/WKD8hQUFIgTJ05UeZz9\n+/eL/v37izNnztj3VfYBcujQITF8+PBSM+Rhw4aJXbt2VTreuXPnxPDhwyv8gL4xt6ysLDF9+nTx\n6aefikuXLonIyEh7QSlLQUGBmDRpknjyySdFmzZtROfOncXo0aPtxa4sY8eOrTSXsnIbMWKEmDdv\nnvj888/Fo48+Knr27GkvrmXJy8sTERERonPnziI6Olr88ssvYvHixWLjxo1lvv/bb78Vjz/+uOjW\nrZv4/PPP7fsrKsDXY7p37y7WrVt3WzHXZ1t0e1hEqEayWq1O/d579+512vdXi8jISHHx4kVFV1HK\nXHkpMw5VnUsX1omuK+uKu+vKW4hWepWeI8dhbo7PzdPT0/68iqpeRSlz5aXMOKTA31zEqIbKzc0V\nvXr1EsePH7cvQFe2EM0YdcVMmDBBpKSk2C/c+O2330TPnj1F586dyx3DVTFUdboZ5T2El8iJ7r77\nbly+fBklJSVo3749/Pz87BtjakbME088gYKCAtx3333w9PSEr68vwsPDcfHixXLvLXFVDFUdnydC\nRETS2MWXiIiksYgQEZE0FhEiIpLGIkJERNJYRIiISNr/A+5MevoCKJ+KAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10af41860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# numpy version, no feature names\n",
    "rank2d(X.values);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10460aef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# disable tick labels\n",
    "rank2d(X, show_feature_names=False);"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
